package furniture.ui.contentassist.antlr.internal; 

import java.io.InputStream;
import org.eclipse.xtext.*;
import org.eclipse.xtext.parser.*;
import org.eclipse.xtext.parser.impl.*;
import org.eclipse.xtext.parsetree.*;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.xtext.parser.antlr.XtextTokenStream;
import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.DFA;
import furniture.services.NotationGrammarAccess;



import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;

@SuppressWarnings("all")
public class InternalNotationParser extends AbstractInternalContentAssistParser {
    public static final String[] tokenNames = new String[] {
        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_STRING", "RULE_ID", "RULE_INT", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'E'", "'e'", "'HORIZONTAL'", "'VERTICAL'", "'FACE'", "'Furniture'", "'{'", "'}'", "'vars'", "','", "'boards'", "'parts'", "'NamedValue'", "'value'", "'Part'", "'placement'", "'board'", "'X'", "'Y'", "'Z'", "'Literal'", "'ValueRef'", "'ref'", "'Addition'", "'values'", "'Multiplication'", "'-'", "'.'", "'RectangularBoard'", "'thickness'", "'PolygonBoard'", "'points'", "'Point'"
    };
    public static final int RULE_ID=5;
    public static final int RULE_STRING=4;
    public static final int RULE_ANY_OTHER=10;
    public static final int RULE_INT=6;
    public static final int RULE_WS=9;
    public static final int RULE_SL_COMMENT=8;
    public static final int EOF=-1;
    public static final int RULE_ML_COMMENT=7;

        public InternalNotationParser(TokenStream input) {
            super(input);
        }
        

    public String[] getTokenNames() { return tokenNames; }
    public String getGrammarFileName() { return "../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g"; }


     
     	private NotationGrammarAccess grammarAccess;
     	
        public void setGrammarAccess(NotationGrammarAccess grammarAccess) {
        	this.grammarAccess = grammarAccess;
        }
        
        @Override
        protected Grammar getGrammar() {
        	return grammarAccess.getGrammar();
        }
        
        @Override
        protected String getValueForTokenName(String tokenName) {
        	return tokenName;
        }




    // $ANTLR start entryRuleFurniture
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:61:1: entryRuleFurniture : ruleFurniture EOF ;
    public final void entryRuleFurniture() throws RecognitionException {
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:62:1: ( ruleFurniture EOF )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:63:1: ruleFurniture EOF
            {
             before(grammarAccess.getFurnitureRule()); 
            pushFollow(FollowSets000.FOLLOW_ruleFurniture_in_entryRuleFurniture61);
            ruleFurniture();
            _fsp--;

             after(grammarAccess.getFurnitureRule()); 
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleFurniture68); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleFurniture


    // $ANTLR start ruleFurniture
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:70:1: ruleFurniture : ( ( rule__Furniture__Group__0 ) ) ;
    public final void ruleFurniture() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:74:2: ( ( ( rule__Furniture__Group__0 ) ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:75:1: ( ( rule__Furniture__Group__0 ) )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:75:1: ( ( rule__Furniture__Group__0 ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:76:1: ( rule__Furniture__Group__0 )
            {
             before(grammarAccess.getFurnitureAccess().getGroup()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:77:1: ( rule__Furniture__Group__0 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:77:2: rule__Furniture__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_rule__Furniture__Group__0_in_ruleFurniture94);
            rule__Furniture__Group__0();
            _fsp--;


            }

             after(grammarAccess.getFurnitureAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleFurniture


    // $ANTLR start entryRuleBoard
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:89:1: entryRuleBoard : ruleBoard EOF ;
    public final void entryRuleBoard() throws RecognitionException {
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:90:1: ( ruleBoard EOF )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:91:1: ruleBoard EOF
            {
             before(grammarAccess.getBoardRule()); 
            pushFollow(FollowSets000.FOLLOW_ruleBoard_in_entryRuleBoard121);
            ruleBoard();
            _fsp--;

             after(grammarAccess.getBoardRule()); 
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleBoard128); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleBoard


    // $ANTLR start ruleBoard
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:98:1: ruleBoard : ( ( rule__Board__Alternatives ) ) ;
    public final void ruleBoard() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:102:2: ( ( ( rule__Board__Alternatives ) ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:103:1: ( ( rule__Board__Alternatives ) )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:103:1: ( ( rule__Board__Alternatives ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:104:1: ( rule__Board__Alternatives )
            {
             before(grammarAccess.getBoardAccess().getAlternatives()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:105:1: ( rule__Board__Alternatives )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:105:2: rule__Board__Alternatives
            {
            pushFollow(FollowSets000.FOLLOW_rule__Board__Alternatives_in_ruleBoard154);
            rule__Board__Alternatives();
            _fsp--;


            }

             after(grammarAccess.getBoardAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleBoard


    // $ANTLR start entryRuleValue
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:117:1: entryRuleValue : ruleValue EOF ;
    public final void entryRuleValue() throws RecognitionException {
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:118:1: ( ruleValue EOF )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:119:1: ruleValue EOF
            {
             before(grammarAccess.getValueRule()); 
            pushFollow(FollowSets000.FOLLOW_ruleValue_in_entryRuleValue181);
            ruleValue();
            _fsp--;

             after(grammarAccess.getValueRule()); 
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleValue188); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleValue


    // $ANTLR start ruleValue
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:126:1: ruleValue : ( ( rule__Value__Alternatives ) ) ;
    public final void ruleValue() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:130:2: ( ( ( rule__Value__Alternatives ) ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:131:1: ( ( rule__Value__Alternatives ) )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:131:1: ( ( rule__Value__Alternatives ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:132:1: ( rule__Value__Alternatives )
            {
             before(grammarAccess.getValueAccess().getAlternatives()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:133:1: ( rule__Value__Alternatives )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:133:2: rule__Value__Alternatives
            {
            pushFollow(FollowSets000.FOLLOW_rule__Value__Alternatives_in_ruleValue214);
            rule__Value__Alternatives();
            _fsp--;


            }

             after(grammarAccess.getValueAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleValue


    // $ANTLR start entryRuleNamedValue
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:145:1: entryRuleNamedValue : ruleNamedValue EOF ;
    public final void entryRuleNamedValue() throws RecognitionException {
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:146:1: ( ruleNamedValue EOF )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:147:1: ruleNamedValue EOF
            {
             before(grammarAccess.getNamedValueRule()); 
            pushFollow(FollowSets000.FOLLOW_ruleNamedValue_in_entryRuleNamedValue241);
            ruleNamedValue();
            _fsp--;

             after(grammarAccess.getNamedValueRule()); 
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleNamedValue248); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleNamedValue


    // $ANTLR start ruleNamedValue
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:154:1: ruleNamedValue : ( ( rule__NamedValue__Group__0 ) ) ;
    public final void ruleNamedValue() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:158:2: ( ( ( rule__NamedValue__Group__0 ) ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:159:1: ( ( rule__NamedValue__Group__0 ) )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:159:1: ( ( rule__NamedValue__Group__0 ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:160:1: ( rule__NamedValue__Group__0 )
            {
             before(grammarAccess.getNamedValueAccess().getGroup()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:161:1: ( rule__NamedValue__Group__0 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:161:2: rule__NamedValue__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_rule__NamedValue__Group__0_in_ruleNamedValue274);
            rule__NamedValue__Group__0();
            _fsp--;


            }

             after(grammarAccess.getNamedValueAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleNamedValue


    // $ANTLR start entryRulePart
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:173:1: entryRulePart : rulePart EOF ;
    public final void entryRulePart() throws RecognitionException {
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:174:1: ( rulePart EOF )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:175:1: rulePart EOF
            {
             before(grammarAccess.getPartRule()); 
            pushFollow(FollowSets000.FOLLOW_rulePart_in_entryRulePart301);
            rulePart();
            _fsp--;

             after(grammarAccess.getPartRule()); 
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePart308); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRulePart


    // $ANTLR start rulePart
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:182:1: rulePart : ( ( rule__Part__Group__0 ) ) ;
    public final void rulePart() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:186:2: ( ( ( rule__Part__Group__0 ) ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:187:1: ( ( rule__Part__Group__0 ) )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:187:1: ( ( rule__Part__Group__0 ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:188:1: ( rule__Part__Group__0 )
            {
             before(grammarAccess.getPartAccess().getGroup()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:189:1: ( rule__Part__Group__0 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:189:2: rule__Part__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_rule__Part__Group__0_in_rulePart334);
            rule__Part__Group__0();
            _fsp--;


            }

             after(grammarAccess.getPartAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rulePart


    // $ANTLR start entryRuleEString
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:201:1: entryRuleEString : ruleEString EOF ;
    public final void entryRuleEString() throws RecognitionException {
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:202:1: ( ruleEString EOF )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:203:1: ruleEString EOF
            {
             before(grammarAccess.getEStringRule()); 
            pushFollow(FollowSets000.FOLLOW_ruleEString_in_entryRuleEString361);
            ruleEString();
            _fsp--;

             after(grammarAccess.getEStringRule()); 
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEString368); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleEString


    // $ANTLR start ruleEString
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:210:1: ruleEString : ( ( rule__EString__Alternatives ) ) ;
    public final void ruleEString() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:214:2: ( ( ( rule__EString__Alternatives ) ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:215:1: ( ( rule__EString__Alternatives ) )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:215:1: ( ( rule__EString__Alternatives ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:216:1: ( rule__EString__Alternatives )
            {
             before(grammarAccess.getEStringAccess().getAlternatives()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:217:1: ( rule__EString__Alternatives )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:217:2: rule__EString__Alternatives
            {
            pushFollow(FollowSets000.FOLLOW_rule__EString__Alternatives_in_ruleEString394);
            rule__EString__Alternatives();
            _fsp--;


            }

             after(grammarAccess.getEStringAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleEString


    // $ANTLR start entryRuleLiteral
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:229:1: entryRuleLiteral : ruleLiteral EOF ;
    public final void entryRuleLiteral() throws RecognitionException {
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:230:1: ( ruleLiteral EOF )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:231:1: ruleLiteral EOF
            {
             before(grammarAccess.getLiteralRule()); 
            pushFollow(FollowSets000.FOLLOW_ruleLiteral_in_entryRuleLiteral421);
            ruleLiteral();
            _fsp--;

             after(grammarAccess.getLiteralRule()); 
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleLiteral428); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleLiteral


    // $ANTLR start ruleLiteral
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:238:1: ruleLiteral : ( ( rule__Literal__Group__0 ) ) ;
    public final void ruleLiteral() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:242:2: ( ( ( rule__Literal__Group__0 ) ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:243:1: ( ( rule__Literal__Group__0 ) )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:243:1: ( ( rule__Literal__Group__0 ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:244:1: ( rule__Literal__Group__0 )
            {
             before(grammarAccess.getLiteralAccess().getGroup()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:245:1: ( rule__Literal__Group__0 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:245:2: rule__Literal__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_rule__Literal__Group__0_in_ruleLiteral454);
            rule__Literal__Group__0();
            _fsp--;


            }

             after(grammarAccess.getLiteralAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleLiteral


    // $ANTLR start entryRuleValueRef
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:257:1: entryRuleValueRef : ruleValueRef EOF ;
    public final void entryRuleValueRef() throws RecognitionException {
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:258:1: ( ruleValueRef EOF )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:259:1: ruleValueRef EOF
            {
             before(grammarAccess.getValueRefRule()); 
            pushFollow(FollowSets000.FOLLOW_ruleValueRef_in_entryRuleValueRef481);
            ruleValueRef();
            _fsp--;

             after(grammarAccess.getValueRefRule()); 
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleValueRef488); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleValueRef


    // $ANTLR start ruleValueRef
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:266:1: ruleValueRef : ( ( rule__ValueRef__Group__0 ) ) ;
    public final void ruleValueRef() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:270:2: ( ( ( rule__ValueRef__Group__0 ) ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:271:1: ( ( rule__ValueRef__Group__0 ) )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:271:1: ( ( rule__ValueRef__Group__0 ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:272:1: ( rule__ValueRef__Group__0 )
            {
             before(grammarAccess.getValueRefAccess().getGroup()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:273:1: ( rule__ValueRef__Group__0 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:273:2: rule__ValueRef__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_rule__ValueRef__Group__0_in_ruleValueRef514);
            rule__ValueRef__Group__0();
            _fsp--;


            }

             after(grammarAccess.getValueRefAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleValueRef


    // $ANTLR start entryRuleAddition
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:285:1: entryRuleAddition : ruleAddition EOF ;
    public final void entryRuleAddition() throws RecognitionException {
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:286:1: ( ruleAddition EOF )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:287:1: ruleAddition EOF
            {
             before(grammarAccess.getAdditionRule()); 
            pushFollow(FollowSets000.FOLLOW_ruleAddition_in_entryRuleAddition541);
            ruleAddition();
            _fsp--;

             after(grammarAccess.getAdditionRule()); 
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleAddition548); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleAddition


    // $ANTLR start ruleAddition
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:294:1: ruleAddition : ( ( rule__Addition__Group__0 ) ) ;
    public final void ruleAddition() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:298:2: ( ( ( rule__Addition__Group__0 ) ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:299:1: ( ( rule__Addition__Group__0 ) )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:299:1: ( ( rule__Addition__Group__0 ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:300:1: ( rule__Addition__Group__0 )
            {
             before(grammarAccess.getAdditionAccess().getGroup()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:301:1: ( rule__Addition__Group__0 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:301:2: rule__Addition__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_rule__Addition__Group__0_in_ruleAddition574);
            rule__Addition__Group__0();
            _fsp--;


            }

             after(grammarAccess.getAdditionAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleAddition


    // $ANTLR start entryRuleMultiplication
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:313:1: entryRuleMultiplication : ruleMultiplication EOF ;
    public final void entryRuleMultiplication() throws RecognitionException {
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:314:1: ( ruleMultiplication EOF )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:315:1: ruleMultiplication EOF
            {
             before(grammarAccess.getMultiplicationRule()); 
            pushFollow(FollowSets000.FOLLOW_ruleMultiplication_in_entryRuleMultiplication601);
            ruleMultiplication();
            _fsp--;

             after(grammarAccess.getMultiplicationRule()); 
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleMultiplication608); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleMultiplication


    // $ANTLR start ruleMultiplication
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:322:1: ruleMultiplication : ( ( rule__Multiplication__Group__0 ) ) ;
    public final void ruleMultiplication() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:326:2: ( ( ( rule__Multiplication__Group__0 ) ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:327:1: ( ( rule__Multiplication__Group__0 ) )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:327:1: ( ( rule__Multiplication__Group__0 ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:328:1: ( rule__Multiplication__Group__0 )
            {
             before(grammarAccess.getMultiplicationAccess().getGroup()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:329:1: ( rule__Multiplication__Group__0 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:329:2: rule__Multiplication__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_rule__Multiplication__Group__0_in_ruleMultiplication634);
            rule__Multiplication__Group__0();
            _fsp--;


            }

             after(grammarAccess.getMultiplicationAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleMultiplication


    // $ANTLR start entryRuleEDouble
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:341:1: entryRuleEDouble : ruleEDouble EOF ;
    public final void entryRuleEDouble() throws RecognitionException {
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:342:1: ( ruleEDouble EOF )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:343:1: ruleEDouble EOF
            {
             before(grammarAccess.getEDoubleRule()); 
            pushFollow(FollowSets000.FOLLOW_ruleEDouble_in_entryRuleEDouble661);
            ruleEDouble();
            _fsp--;

             after(grammarAccess.getEDoubleRule()); 
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEDouble668); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleEDouble


    // $ANTLR start ruleEDouble
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:350:1: ruleEDouble : ( ( rule__EDouble__Group__0 ) ) ;
    public final void ruleEDouble() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:354:2: ( ( ( rule__EDouble__Group__0 ) ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:355:1: ( ( rule__EDouble__Group__0 ) )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:355:1: ( ( rule__EDouble__Group__0 ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:356:1: ( rule__EDouble__Group__0 )
            {
             before(grammarAccess.getEDoubleAccess().getGroup()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:357:1: ( rule__EDouble__Group__0 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:357:2: rule__EDouble__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_rule__EDouble__Group__0_in_ruleEDouble694);
            rule__EDouble__Group__0();
            _fsp--;


            }

             after(grammarAccess.getEDoubleAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleEDouble


    // $ANTLR start entryRuleRectangularBoard
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:369:1: entryRuleRectangularBoard : ruleRectangularBoard EOF ;
    public final void entryRuleRectangularBoard() throws RecognitionException {
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:370:1: ( ruleRectangularBoard EOF )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:371:1: ruleRectangularBoard EOF
            {
             before(grammarAccess.getRectangularBoardRule()); 
            pushFollow(FollowSets000.FOLLOW_ruleRectangularBoard_in_entryRuleRectangularBoard721);
            ruleRectangularBoard();
            _fsp--;

             after(grammarAccess.getRectangularBoardRule()); 
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleRectangularBoard728); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleRectangularBoard


    // $ANTLR start ruleRectangularBoard
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:378:1: ruleRectangularBoard : ( ( rule__RectangularBoard__Group__0 ) ) ;
    public final void ruleRectangularBoard() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:382:2: ( ( ( rule__RectangularBoard__Group__0 ) ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:383:1: ( ( rule__RectangularBoard__Group__0 ) )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:383:1: ( ( rule__RectangularBoard__Group__0 ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:384:1: ( rule__RectangularBoard__Group__0 )
            {
             before(grammarAccess.getRectangularBoardAccess().getGroup()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:385:1: ( rule__RectangularBoard__Group__0 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:385:2: rule__RectangularBoard__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_rule__RectangularBoard__Group__0_in_ruleRectangularBoard754);
            rule__RectangularBoard__Group__0();
            _fsp--;


            }

             after(grammarAccess.getRectangularBoardAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleRectangularBoard


    // $ANTLR start entryRulePolygonBoard
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:397:1: entryRulePolygonBoard : rulePolygonBoard EOF ;
    public final void entryRulePolygonBoard() throws RecognitionException {
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:398:1: ( rulePolygonBoard EOF )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:399:1: rulePolygonBoard EOF
            {
             before(grammarAccess.getPolygonBoardRule()); 
            pushFollow(FollowSets000.FOLLOW_rulePolygonBoard_in_entryRulePolygonBoard781);
            rulePolygonBoard();
            _fsp--;

             after(grammarAccess.getPolygonBoardRule()); 
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePolygonBoard788); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRulePolygonBoard


    // $ANTLR start rulePolygonBoard
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:406:1: rulePolygonBoard : ( ( rule__PolygonBoard__Group__0 ) ) ;
    public final void rulePolygonBoard() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:410:2: ( ( ( rule__PolygonBoard__Group__0 ) ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:411:1: ( ( rule__PolygonBoard__Group__0 ) )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:411:1: ( ( rule__PolygonBoard__Group__0 ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:412:1: ( rule__PolygonBoard__Group__0 )
            {
             before(grammarAccess.getPolygonBoardAccess().getGroup()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:413:1: ( rule__PolygonBoard__Group__0 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:413:2: rule__PolygonBoard__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_rule__PolygonBoard__Group__0_in_rulePolygonBoard814);
            rule__PolygonBoard__Group__0();
            _fsp--;


            }

             after(grammarAccess.getPolygonBoardAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rulePolygonBoard


    // $ANTLR start entryRulePoint
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:425:1: entryRulePoint : rulePoint EOF ;
    public final void entryRulePoint() throws RecognitionException {
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:426:1: ( rulePoint EOF )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:427:1: rulePoint EOF
            {
             before(grammarAccess.getPointRule()); 
            pushFollow(FollowSets000.FOLLOW_rulePoint_in_entryRulePoint841);
            rulePoint();
            _fsp--;

             after(grammarAccess.getPointRule()); 
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePoint848); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRulePoint


    // $ANTLR start rulePoint
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:434:1: rulePoint : ( ( rule__Point__Group__0 ) ) ;
    public final void rulePoint() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:438:2: ( ( ( rule__Point__Group__0 ) ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:439:1: ( ( rule__Point__Group__0 ) )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:439:1: ( ( rule__Point__Group__0 ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:440:1: ( rule__Point__Group__0 )
            {
             before(grammarAccess.getPointAccess().getGroup()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:441:1: ( rule__Point__Group__0 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:441:2: rule__Point__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_rule__Point__Group__0_in_rulePoint874);
            rule__Point__Group__0();
            _fsp--;


            }

             after(grammarAccess.getPointAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rulePoint


    // $ANTLR start rulePlacement
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:454:1: rulePlacement : ( ( rule__Placement__Alternatives ) ) ;
    public final void rulePlacement() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:458:1: ( ( ( rule__Placement__Alternatives ) ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:459:1: ( ( rule__Placement__Alternatives ) )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:459:1: ( ( rule__Placement__Alternatives ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:460:1: ( rule__Placement__Alternatives )
            {
             before(grammarAccess.getPlacementAccess().getAlternatives()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:461:1: ( rule__Placement__Alternatives )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:461:2: rule__Placement__Alternatives
            {
            pushFollow(FollowSets000.FOLLOW_rule__Placement__Alternatives_in_rulePlacement911);
            rule__Placement__Alternatives();
            _fsp--;


            }

             after(grammarAccess.getPlacementAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rulePlacement


    // $ANTLR start rule__Board__Alternatives
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:472:1: rule__Board__Alternatives : ( ( ruleRectangularBoard ) | ( rulePolygonBoard ) );
    public final void rule__Board__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:476:1: ( ( ruleRectangularBoard ) | ( rulePolygonBoard ) )
            int alt1=2;
            int LA1_0 = input.LA(1);

            if ( (LA1_0==39) ) {
                alt1=1;
            }
            else if ( (LA1_0==41) ) {
                alt1=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("472:1: rule__Board__Alternatives : ( ( ruleRectangularBoard ) | ( rulePolygonBoard ) );", 1, 0, input);

                throw nvae;
            }
            switch (alt1) {
                case 1 :
                    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:477:1: ( ruleRectangularBoard )
                    {
                    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:477:1: ( ruleRectangularBoard )
                    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:478:1: ruleRectangularBoard
                    {
                     before(grammarAccess.getBoardAccess().getRectangularBoardParserRuleCall_0()); 
                    pushFollow(FollowSets000.FOLLOW_ruleRectangularBoard_in_rule__Board__Alternatives946);
                    ruleRectangularBoard();
                    _fsp--;

                     after(grammarAccess.getBoardAccess().getRectangularBoardParserRuleCall_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:483:6: ( rulePolygonBoard )
                    {
                    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:483:6: ( rulePolygonBoard )
                    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:484:1: rulePolygonBoard
                    {
                     before(grammarAccess.getBoardAccess().getPolygonBoardParserRuleCall_1()); 
                    pushFollow(FollowSets000.FOLLOW_rulePolygonBoard_in_rule__Board__Alternatives963);
                    rulePolygonBoard();
                    _fsp--;

                     after(grammarAccess.getBoardAccess().getPolygonBoardParserRuleCall_1()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Board__Alternatives


    // $ANTLR start rule__Value__Alternatives
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:494:1: rule__Value__Alternatives : ( ( ruleNamedValue ) | ( ruleLiteral ) | ( ruleValueRef ) | ( ruleAddition ) | ( ruleMultiplication ) );
    public final void rule__Value__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:498:1: ( ( ruleNamedValue ) | ( ruleLiteral ) | ( ruleValueRef ) | ( ruleAddition ) | ( ruleMultiplication ) )
            int alt2=5;
            switch ( input.LA(1) ) {
            case 23:
                {
                alt2=1;
                }
                break;
            case 31:
                {
                alt2=2;
                }
                break;
            case 32:
                {
                alt2=3;
                }
                break;
            case 34:
                {
                alt2=4;
                }
                break;
            case 36:
                {
                alt2=5;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("494:1: rule__Value__Alternatives : ( ( ruleNamedValue ) | ( ruleLiteral ) | ( ruleValueRef ) | ( ruleAddition ) | ( ruleMultiplication ) );", 2, 0, input);

                throw nvae;
            }

            switch (alt2) {
                case 1 :
                    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:499:1: ( ruleNamedValue )
                    {
                    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:499:1: ( ruleNamedValue )
                    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:500:1: ruleNamedValue
                    {
                     before(grammarAccess.getValueAccess().getNamedValueParserRuleCall_0()); 
                    pushFollow(FollowSets000.FOLLOW_ruleNamedValue_in_rule__Value__Alternatives995);
                    ruleNamedValue();
                    _fsp--;

                     after(grammarAccess.getValueAccess().getNamedValueParserRuleCall_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:505:6: ( ruleLiteral )
                    {
                    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:505:6: ( ruleLiteral )
                    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:506:1: ruleLiteral
                    {
                     before(grammarAccess.getValueAccess().getLiteralParserRuleCall_1()); 
                    pushFollow(FollowSets000.FOLLOW_ruleLiteral_in_rule__Value__Alternatives1012);
                    ruleLiteral();
                    _fsp--;

                     after(grammarAccess.getValueAccess().getLiteralParserRuleCall_1()); 

                    }


                    }
                    break;
                case 3 :
                    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:511:6: ( ruleValueRef )
                    {
                    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:511:6: ( ruleValueRef )
                    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:512:1: ruleValueRef
                    {
                     before(grammarAccess.getValueAccess().getValueRefParserRuleCall_2()); 
                    pushFollow(FollowSets000.FOLLOW_ruleValueRef_in_rule__Value__Alternatives1029);
                    ruleValueRef();
                    _fsp--;

                     after(grammarAccess.getValueAccess().getValueRefParserRuleCall_2()); 

                    }


                    }
                    break;
                case 4 :
                    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:517:6: ( ruleAddition )
                    {
                    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:517:6: ( ruleAddition )
                    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:518:1: ruleAddition
                    {
                     before(grammarAccess.getValueAccess().getAdditionParserRuleCall_3()); 
                    pushFollow(FollowSets000.FOLLOW_ruleAddition_in_rule__Value__Alternatives1046);
                    ruleAddition();
                    _fsp--;

                     after(grammarAccess.getValueAccess().getAdditionParserRuleCall_3()); 

                    }


                    }
                    break;
                case 5 :
                    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:523:6: ( ruleMultiplication )
                    {
                    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:523:6: ( ruleMultiplication )
                    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:524:1: ruleMultiplication
                    {
                     before(grammarAccess.getValueAccess().getMultiplicationParserRuleCall_4()); 
                    pushFollow(FollowSets000.FOLLOW_ruleMultiplication_in_rule__Value__Alternatives1063);
                    ruleMultiplication();
                    _fsp--;

                     after(grammarAccess.getValueAccess().getMultiplicationParserRuleCall_4()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Value__Alternatives


    // $ANTLR start rule__EString__Alternatives
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:534:1: rule__EString__Alternatives : ( ( RULE_STRING ) | ( RULE_ID ) );
    public final void rule__EString__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:538:1: ( ( RULE_STRING ) | ( RULE_ID ) )
            int alt3=2;
            int LA3_0 = input.LA(1);

            if ( (LA3_0==RULE_STRING) ) {
                alt3=1;
            }
            else if ( (LA3_0==RULE_ID) ) {
                alt3=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("534:1: rule__EString__Alternatives : ( ( RULE_STRING ) | ( RULE_ID ) );", 3, 0, input);

                throw nvae;
            }
            switch (alt3) {
                case 1 :
                    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:539:1: ( RULE_STRING )
                    {
                    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:539:1: ( RULE_STRING )
                    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:540:1: RULE_STRING
                    {
                     before(grammarAccess.getEStringAccess().getSTRINGTerminalRuleCall_0()); 
                    match(input,RULE_STRING,FollowSets000.FOLLOW_RULE_STRING_in_rule__EString__Alternatives1095); 
                     after(grammarAccess.getEStringAccess().getSTRINGTerminalRuleCall_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:545:6: ( RULE_ID )
                    {
                    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:545:6: ( RULE_ID )
                    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:546:1: RULE_ID
                    {
                     before(grammarAccess.getEStringAccess().getIDTerminalRuleCall_1()); 
                    match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_rule__EString__Alternatives1112); 
                     after(grammarAccess.getEStringAccess().getIDTerminalRuleCall_1()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EString__Alternatives


    // $ANTLR start rule__EDouble__Alternatives_4_0
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:556:1: rule__EDouble__Alternatives_4_0 : ( ( 'E' ) | ( 'e' ) );
    public final void rule__EDouble__Alternatives_4_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:560:1: ( ( 'E' ) | ( 'e' ) )
            int alt4=2;
            int LA4_0 = input.LA(1);

            if ( (LA4_0==11) ) {
                alt4=1;
            }
            else if ( (LA4_0==12) ) {
                alt4=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("556:1: rule__EDouble__Alternatives_4_0 : ( ( 'E' ) | ( 'e' ) );", 4, 0, input);

                throw nvae;
            }
            switch (alt4) {
                case 1 :
                    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:561:1: ( 'E' )
                    {
                    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:561:1: ( 'E' )
                    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:562:1: 'E'
                    {
                     before(grammarAccess.getEDoubleAccess().getEKeyword_4_0_0()); 
                    match(input,11,FollowSets000.FOLLOW_11_in_rule__EDouble__Alternatives_4_01145); 
                     after(grammarAccess.getEDoubleAccess().getEKeyword_4_0_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:569:6: ( 'e' )
                    {
                    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:569:6: ( 'e' )
                    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:570:1: 'e'
                    {
                     before(grammarAccess.getEDoubleAccess().getEKeyword_4_0_1()); 
                    match(input,12,FollowSets000.FOLLOW_12_in_rule__EDouble__Alternatives_4_01165); 
                     after(grammarAccess.getEDoubleAccess().getEKeyword_4_0_1()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EDouble__Alternatives_4_0


    // $ANTLR start rule__Placement__Alternatives
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:582:1: rule__Placement__Alternatives : ( ( ( 'HORIZONTAL' ) ) | ( ( 'VERTICAL' ) ) | ( ( 'FACE' ) ) );
    public final void rule__Placement__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:586:1: ( ( ( 'HORIZONTAL' ) ) | ( ( 'VERTICAL' ) ) | ( ( 'FACE' ) ) )
            int alt5=3;
            switch ( input.LA(1) ) {
            case 13:
                {
                alt5=1;
                }
                break;
            case 14:
                {
                alt5=2;
                }
                break;
            case 15:
                {
                alt5=3;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("582:1: rule__Placement__Alternatives : ( ( ( 'HORIZONTAL' ) ) | ( ( 'VERTICAL' ) ) | ( ( 'FACE' ) ) );", 5, 0, input);

                throw nvae;
            }

            switch (alt5) {
                case 1 :
                    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:587:1: ( ( 'HORIZONTAL' ) )
                    {
                    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:587:1: ( ( 'HORIZONTAL' ) )
                    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:588:1: ( 'HORIZONTAL' )
                    {
                     before(grammarAccess.getPlacementAccess().getHORIZONTALEnumLiteralDeclaration_0()); 
                    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:589:1: ( 'HORIZONTAL' )
                    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:589:3: 'HORIZONTAL'
                    {
                    match(input,13,FollowSets000.FOLLOW_13_in_rule__Placement__Alternatives1200); 

                    }

                     after(grammarAccess.getPlacementAccess().getHORIZONTALEnumLiteralDeclaration_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:594:6: ( ( 'VERTICAL' ) )
                    {
                    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:594:6: ( ( 'VERTICAL' ) )
                    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:595:1: ( 'VERTICAL' )
                    {
                     before(grammarAccess.getPlacementAccess().getVERTICALEnumLiteralDeclaration_1()); 
                    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:596:1: ( 'VERTICAL' )
                    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:596:3: 'VERTICAL'
                    {
                    match(input,14,FollowSets000.FOLLOW_14_in_rule__Placement__Alternatives1221); 

                    }

                     after(grammarAccess.getPlacementAccess().getVERTICALEnumLiteralDeclaration_1()); 

                    }


                    }
                    break;
                case 3 :
                    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:601:6: ( ( 'FACE' ) )
                    {
                    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:601:6: ( ( 'FACE' ) )
                    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:602:1: ( 'FACE' )
                    {
                     before(grammarAccess.getPlacementAccess().getFACEEnumLiteralDeclaration_2()); 
                    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:603:1: ( 'FACE' )
                    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:603:3: 'FACE'
                    {
                    match(input,15,FollowSets000.FOLLOW_15_in_rule__Placement__Alternatives1242); 

                    }

                     after(grammarAccess.getPlacementAccess().getFACEEnumLiteralDeclaration_2()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Placement__Alternatives


    // $ANTLR start rule__Furniture__Group__0
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:615:1: rule__Furniture__Group__0 : rule__Furniture__Group__0__Impl rule__Furniture__Group__1 ;
    public final void rule__Furniture__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:619:1: ( rule__Furniture__Group__0__Impl rule__Furniture__Group__1 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:620:2: rule__Furniture__Group__0__Impl rule__Furniture__Group__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__Furniture__Group__0__Impl_in_rule__Furniture__Group__01275);
            rule__Furniture__Group__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Furniture__Group__1_in_rule__Furniture__Group__01278);
            rule__Furniture__Group__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Furniture__Group__0


    // $ANTLR start rule__Furniture__Group__0__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:627:1: rule__Furniture__Group__0__Impl : ( () ) ;
    public final void rule__Furniture__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:631:1: ( ( () ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:632:1: ( () )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:632:1: ( () )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:633:1: ()
            {
             before(grammarAccess.getFurnitureAccess().getFurnitureAction_0()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:634:1: ()
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:636:1: 
            {
            }

             after(grammarAccess.getFurnitureAccess().getFurnitureAction_0()); 

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Furniture__Group__0__Impl


    // $ANTLR start rule__Furniture__Group__1
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:646:1: rule__Furniture__Group__1 : rule__Furniture__Group__1__Impl rule__Furniture__Group__2 ;
    public final void rule__Furniture__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:650:1: ( rule__Furniture__Group__1__Impl rule__Furniture__Group__2 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:651:2: rule__Furniture__Group__1__Impl rule__Furniture__Group__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__Furniture__Group__1__Impl_in_rule__Furniture__Group__11336);
            rule__Furniture__Group__1__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Furniture__Group__2_in_rule__Furniture__Group__11339);
            rule__Furniture__Group__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Furniture__Group__1


    // $ANTLR start rule__Furniture__Group__1__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:658:1: rule__Furniture__Group__1__Impl : ( 'Furniture' ) ;
    public final void rule__Furniture__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:662:1: ( ( 'Furniture' ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:663:1: ( 'Furniture' )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:663:1: ( 'Furniture' )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:664:1: 'Furniture'
            {
             before(grammarAccess.getFurnitureAccess().getFurnitureKeyword_1()); 
            match(input,16,FollowSets000.FOLLOW_16_in_rule__Furniture__Group__1__Impl1367); 
             after(grammarAccess.getFurnitureAccess().getFurnitureKeyword_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Furniture__Group__1__Impl


    // $ANTLR start rule__Furniture__Group__2
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:677:1: rule__Furniture__Group__2 : rule__Furniture__Group__2__Impl rule__Furniture__Group__3 ;
    public final void rule__Furniture__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:681:1: ( rule__Furniture__Group__2__Impl rule__Furniture__Group__3 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:682:2: rule__Furniture__Group__2__Impl rule__Furniture__Group__3
            {
            pushFollow(FollowSets000.FOLLOW_rule__Furniture__Group__2__Impl_in_rule__Furniture__Group__21398);
            rule__Furniture__Group__2__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Furniture__Group__3_in_rule__Furniture__Group__21401);
            rule__Furniture__Group__3();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Furniture__Group__2


    // $ANTLR start rule__Furniture__Group__2__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:689:1: rule__Furniture__Group__2__Impl : ( '{' ) ;
    public final void rule__Furniture__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:693:1: ( ( '{' ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:694:1: ( '{' )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:694:1: ( '{' )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:695:1: '{'
            {
             before(grammarAccess.getFurnitureAccess().getLeftCurlyBracketKeyword_2()); 
            match(input,17,FollowSets000.FOLLOW_17_in_rule__Furniture__Group__2__Impl1429); 
             after(grammarAccess.getFurnitureAccess().getLeftCurlyBracketKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Furniture__Group__2__Impl


    // $ANTLR start rule__Furniture__Group__3
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:708:1: rule__Furniture__Group__3 : rule__Furniture__Group__3__Impl rule__Furniture__Group__4 ;
    public final void rule__Furniture__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:712:1: ( rule__Furniture__Group__3__Impl rule__Furniture__Group__4 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:713:2: rule__Furniture__Group__3__Impl rule__Furniture__Group__4
            {
            pushFollow(FollowSets000.FOLLOW_rule__Furniture__Group__3__Impl_in_rule__Furniture__Group__31460);
            rule__Furniture__Group__3__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Furniture__Group__4_in_rule__Furniture__Group__31463);
            rule__Furniture__Group__4();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Furniture__Group__3


    // $ANTLR start rule__Furniture__Group__3__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:720:1: rule__Furniture__Group__3__Impl : ( ( rule__Furniture__Group_3__0 )? ) ;
    public final void rule__Furniture__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:724:1: ( ( ( rule__Furniture__Group_3__0 )? ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:725:1: ( ( rule__Furniture__Group_3__0 )? )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:725:1: ( ( rule__Furniture__Group_3__0 )? )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:726:1: ( rule__Furniture__Group_3__0 )?
            {
             before(grammarAccess.getFurnitureAccess().getGroup_3()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:727:1: ( rule__Furniture__Group_3__0 )?
            int alt6=2;
            int LA6_0 = input.LA(1);

            if ( (LA6_0==19) ) {
                alt6=1;
            }
            switch (alt6) {
                case 1 :
                    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:727:2: rule__Furniture__Group_3__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__Furniture__Group_3__0_in_rule__Furniture__Group__3__Impl1490);
                    rule__Furniture__Group_3__0();
                    _fsp--;


                    }
                    break;

            }

             after(grammarAccess.getFurnitureAccess().getGroup_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Furniture__Group__3__Impl


    // $ANTLR start rule__Furniture__Group__4
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:737:1: rule__Furniture__Group__4 : rule__Furniture__Group__4__Impl rule__Furniture__Group__5 ;
    public final void rule__Furniture__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:741:1: ( rule__Furniture__Group__4__Impl rule__Furniture__Group__5 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:742:2: rule__Furniture__Group__4__Impl rule__Furniture__Group__5
            {
            pushFollow(FollowSets000.FOLLOW_rule__Furniture__Group__4__Impl_in_rule__Furniture__Group__41521);
            rule__Furniture__Group__4__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Furniture__Group__5_in_rule__Furniture__Group__41524);
            rule__Furniture__Group__5();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Furniture__Group__4


    // $ANTLR start rule__Furniture__Group__4__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:749:1: rule__Furniture__Group__4__Impl : ( ( rule__Furniture__Group_4__0 )? ) ;
    public final void rule__Furniture__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:753:1: ( ( ( rule__Furniture__Group_4__0 )? ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:754:1: ( ( rule__Furniture__Group_4__0 )? )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:754:1: ( ( rule__Furniture__Group_4__0 )? )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:755:1: ( rule__Furniture__Group_4__0 )?
            {
             before(grammarAccess.getFurnitureAccess().getGroup_4()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:756:1: ( rule__Furniture__Group_4__0 )?
            int alt7=2;
            int LA7_0 = input.LA(1);

            if ( (LA7_0==21) ) {
                alt7=1;
            }
            switch (alt7) {
                case 1 :
                    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:756:2: rule__Furniture__Group_4__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__Furniture__Group_4__0_in_rule__Furniture__Group__4__Impl1551);
                    rule__Furniture__Group_4__0();
                    _fsp--;


                    }
                    break;

            }

             after(grammarAccess.getFurnitureAccess().getGroup_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Furniture__Group__4__Impl


    // $ANTLR start rule__Furniture__Group__5
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:766:1: rule__Furniture__Group__5 : rule__Furniture__Group__5__Impl rule__Furniture__Group__6 ;
    public final void rule__Furniture__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:770:1: ( rule__Furniture__Group__5__Impl rule__Furniture__Group__6 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:771:2: rule__Furniture__Group__5__Impl rule__Furniture__Group__6
            {
            pushFollow(FollowSets000.FOLLOW_rule__Furniture__Group__5__Impl_in_rule__Furniture__Group__51582);
            rule__Furniture__Group__5__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Furniture__Group__6_in_rule__Furniture__Group__51585);
            rule__Furniture__Group__6();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Furniture__Group__5


    // $ANTLR start rule__Furniture__Group__5__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:778:1: rule__Furniture__Group__5__Impl : ( ( rule__Furniture__Group_5__0 )? ) ;
    public final void rule__Furniture__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:782:1: ( ( ( rule__Furniture__Group_5__0 )? ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:783:1: ( ( rule__Furniture__Group_5__0 )? )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:783:1: ( ( rule__Furniture__Group_5__0 )? )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:784:1: ( rule__Furniture__Group_5__0 )?
            {
             before(grammarAccess.getFurnitureAccess().getGroup_5()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:785:1: ( rule__Furniture__Group_5__0 )?
            int alt8=2;
            int LA8_0 = input.LA(1);

            if ( (LA8_0==22) ) {
                alt8=1;
            }
            switch (alt8) {
                case 1 :
                    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:785:2: rule__Furniture__Group_5__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__Furniture__Group_5__0_in_rule__Furniture__Group__5__Impl1612);
                    rule__Furniture__Group_5__0();
                    _fsp--;


                    }
                    break;

            }

             after(grammarAccess.getFurnitureAccess().getGroup_5()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Furniture__Group__5__Impl


    // $ANTLR start rule__Furniture__Group__6
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:795:1: rule__Furniture__Group__6 : rule__Furniture__Group__6__Impl ;
    public final void rule__Furniture__Group__6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:799:1: ( rule__Furniture__Group__6__Impl )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:800:2: rule__Furniture__Group__6__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__Furniture__Group__6__Impl_in_rule__Furniture__Group__61643);
            rule__Furniture__Group__6__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Furniture__Group__6


    // $ANTLR start rule__Furniture__Group__6__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:806:1: rule__Furniture__Group__6__Impl : ( '}' ) ;
    public final void rule__Furniture__Group__6__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:810:1: ( ( '}' ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:811:1: ( '}' )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:811:1: ( '}' )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:812:1: '}'
            {
             before(grammarAccess.getFurnitureAccess().getRightCurlyBracketKeyword_6()); 
            match(input,18,FollowSets000.FOLLOW_18_in_rule__Furniture__Group__6__Impl1671); 
             after(grammarAccess.getFurnitureAccess().getRightCurlyBracketKeyword_6()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Furniture__Group__6__Impl


    // $ANTLR start rule__Furniture__Group_3__0
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:839:1: rule__Furniture__Group_3__0 : rule__Furniture__Group_3__0__Impl rule__Furniture__Group_3__1 ;
    public final void rule__Furniture__Group_3__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:843:1: ( rule__Furniture__Group_3__0__Impl rule__Furniture__Group_3__1 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:844:2: rule__Furniture__Group_3__0__Impl rule__Furniture__Group_3__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__Furniture__Group_3__0__Impl_in_rule__Furniture__Group_3__01716);
            rule__Furniture__Group_3__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Furniture__Group_3__1_in_rule__Furniture__Group_3__01719);
            rule__Furniture__Group_3__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Furniture__Group_3__0


    // $ANTLR start rule__Furniture__Group_3__0__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:851:1: rule__Furniture__Group_3__0__Impl : ( 'vars' ) ;
    public final void rule__Furniture__Group_3__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:855:1: ( ( 'vars' ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:856:1: ( 'vars' )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:856:1: ( 'vars' )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:857:1: 'vars'
            {
             before(grammarAccess.getFurnitureAccess().getVarsKeyword_3_0()); 
            match(input,19,FollowSets000.FOLLOW_19_in_rule__Furniture__Group_3__0__Impl1747); 
             after(grammarAccess.getFurnitureAccess().getVarsKeyword_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Furniture__Group_3__0__Impl


    // $ANTLR start rule__Furniture__Group_3__1
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:870:1: rule__Furniture__Group_3__1 : rule__Furniture__Group_3__1__Impl rule__Furniture__Group_3__2 ;
    public final void rule__Furniture__Group_3__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:874:1: ( rule__Furniture__Group_3__1__Impl rule__Furniture__Group_3__2 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:875:2: rule__Furniture__Group_3__1__Impl rule__Furniture__Group_3__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__Furniture__Group_3__1__Impl_in_rule__Furniture__Group_3__11778);
            rule__Furniture__Group_3__1__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Furniture__Group_3__2_in_rule__Furniture__Group_3__11781);
            rule__Furniture__Group_3__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Furniture__Group_3__1


    // $ANTLR start rule__Furniture__Group_3__1__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:882:1: rule__Furniture__Group_3__1__Impl : ( '{' ) ;
    public final void rule__Furniture__Group_3__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:886:1: ( ( '{' ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:887:1: ( '{' )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:887:1: ( '{' )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:888:1: '{'
            {
             before(grammarAccess.getFurnitureAccess().getLeftCurlyBracketKeyword_3_1()); 
            match(input,17,FollowSets000.FOLLOW_17_in_rule__Furniture__Group_3__1__Impl1809); 
             after(grammarAccess.getFurnitureAccess().getLeftCurlyBracketKeyword_3_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Furniture__Group_3__1__Impl


    // $ANTLR start rule__Furniture__Group_3__2
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:901:1: rule__Furniture__Group_3__2 : rule__Furniture__Group_3__2__Impl rule__Furniture__Group_3__3 ;
    public final void rule__Furniture__Group_3__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:905:1: ( rule__Furniture__Group_3__2__Impl rule__Furniture__Group_3__3 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:906:2: rule__Furniture__Group_3__2__Impl rule__Furniture__Group_3__3
            {
            pushFollow(FollowSets000.FOLLOW_rule__Furniture__Group_3__2__Impl_in_rule__Furniture__Group_3__21840);
            rule__Furniture__Group_3__2__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Furniture__Group_3__3_in_rule__Furniture__Group_3__21843);
            rule__Furniture__Group_3__3();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Furniture__Group_3__2


    // $ANTLR start rule__Furniture__Group_3__2__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:913:1: rule__Furniture__Group_3__2__Impl : ( ( rule__Furniture__VarsAssignment_3_2 ) ) ;
    public final void rule__Furniture__Group_3__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:917:1: ( ( ( rule__Furniture__VarsAssignment_3_2 ) ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:918:1: ( ( rule__Furniture__VarsAssignment_3_2 ) )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:918:1: ( ( rule__Furniture__VarsAssignment_3_2 ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:919:1: ( rule__Furniture__VarsAssignment_3_2 )
            {
             before(grammarAccess.getFurnitureAccess().getVarsAssignment_3_2()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:920:1: ( rule__Furniture__VarsAssignment_3_2 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:920:2: rule__Furniture__VarsAssignment_3_2
            {
            pushFollow(FollowSets000.FOLLOW_rule__Furniture__VarsAssignment_3_2_in_rule__Furniture__Group_3__2__Impl1870);
            rule__Furniture__VarsAssignment_3_2();
            _fsp--;


            }

             after(grammarAccess.getFurnitureAccess().getVarsAssignment_3_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Furniture__Group_3__2__Impl


    // $ANTLR start rule__Furniture__Group_3__3
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:930:1: rule__Furniture__Group_3__3 : rule__Furniture__Group_3__3__Impl rule__Furniture__Group_3__4 ;
    public final void rule__Furniture__Group_3__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:934:1: ( rule__Furniture__Group_3__3__Impl rule__Furniture__Group_3__4 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:935:2: rule__Furniture__Group_3__3__Impl rule__Furniture__Group_3__4
            {
            pushFollow(FollowSets000.FOLLOW_rule__Furniture__Group_3__3__Impl_in_rule__Furniture__Group_3__31900);
            rule__Furniture__Group_3__3__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Furniture__Group_3__4_in_rule__Furniture__Group_3__31903);
            rule__Furniture__Group_3__4();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Furniture__Group_3__3


    // $ANTLR start rule__Furniture__Group_3__3__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:942:1: rule__Furniture__Group_3__3__Impl : ( ( rule__Furniture__Group_3_3__0 )* ) ;
    public final void rule__Furniture__Group_3__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:946:1: ( ( ( rule__Furniture__Group_3_3__0 )* ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:947:1: ( ( rule__Furniture__Group_3_3__0 )* )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:947:1: ( ( rule__Furniture__Group_3_3__0 )* )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:948:1: ( rule__Furniture__Group_3_3__0 )*
            {
             before(grammarAccess.getFurnitureAccess().getGroup_3_3()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:949:1: ( rule__Furniture__Group_3_3__0 )*
            loop9:
            do {
                int alt9=2;
                int LA9_0 = input.LA(1);

                if ( (LA9_0==20) ) {
                    alt9=1;
                }


                switch (alt9) {
            	case 1 :
            	    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:949:2: rule__Furniture__Group_3_3__0
            	    {
            	    pushFollow(FollowSets000.FOLLOW_rule__Furniture__Group_3_3__0_in_rule__Furniture__Group_3__3__Impl1930);
            	    rule__Furniture__Group_3_3__0();
            	    _fsp--;


            	    }
            	    break;

            	default :
            	    break loop9;
                }
            } while (true);

             after(grammarAccess.getFurnitureAccess().getGroup_3_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Furniture__Group_3__3__Impl


    // $ANTLR start rule__Furniture__Group_3__4
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:959:1: rule__Furniture__Group_3__4 : rule__Furniture__Group_3__4__Impl ;
    public final void rule__Furniture__Group_3__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:963:1: ( rule__Furniture__Group_3__4__Impl )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:964:2: rule__Furniture__Group_3__4__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__Furniture__Group_3__4__Impl_in_rule__Furniture__Group_3__41961);
            rule__Furniture__Group_3__4__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Furniture__Group_3__4


    // $ANTLR start rule__Furniture__Group_3__4__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:970:1: rule__Furniture__Group_3__4__Impl : ( '}' ) ;
    public final void rule__Furniture__Group_3__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:974:1: ( ( '}' ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:975:1: ( '}' )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:975:1: ( '}' )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:976:1: '}'
            {
             before(grammarAccess.getFurnitureAccess().getRightCurlyBracketKeyword_3_4()); 
            match(input,18,FollowSets000.FOLLOW_18_in_rule__Furniture__Group_3__4__Impl1989); 
             after(grammarAccess.getFurnitureAccess().getRightCurlyBracketKeyword_3_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Furniture__Group_3__4__Impl


    // $ANTLR start rule__Furniture__Group_3_3__0
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:999:1: rule__Furniture__Group_3_3__0 : rule__Furniture__Group_3_3__0__Impl rule__Furniture__Group_3_3__1 ;
    public final void rule__Furniture__Group_3_3__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1003:1: ( rule__Furniture__Group_3_3__0__Impl rule__Furniture__Group_3_3__1 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1004:2: rule__Furniture__Group_3_3__0__Impl rule__Furniture__Group_3_3__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__Furniture__Group_3_3__0__Impl_in_rule__Furniture__Group_3_3__02030);
            rule__Furniture__Group_3_3__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Furniture__Group_3_3__1_in_rule__Furniture__Group_3_3__02033);
            rule__Furniture__Group_3_3__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Furniture__Group_3_3__0


    // $ANTLR start rule__Furniture__Group_3_3__0__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1011:1: rule__Furniture__Group_3_3__0__Impl : ( ',' ) ;
    public final void rule__Furniture__Group_3_3__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1015:1: ( ( ',' ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1016:1: ( ',' )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1016:1: ( ',' )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1017:1: ','
            {
             before(grammarAccess.getFurnitureAccess().getCommaKeyword_3_3_0()); 
            match(input,20,FollowSets000.FOLLOW_20_in_rule__Furniture__Group_3_3__0__Impl2061); 
             after(grammarAccess.getFurnitureAccess().getCommaKeyword_3_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Furniture__Group_3_3__0__Impl


    // $ANTLR start rule__Furniture__Group_3_3__1
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1030:1: rule__Furniture__Group_3_3__1 : rule__Furniture__Group_3_3__1__Impl ;
    public final void rule__Furniture__Group_3_3__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1034:1: ( rule__Furniture__Group_3_3__1__Impl )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1035:2: rule__Furniture__Group_3_3__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__Furniture__Group_3_3__1__Impl_in_rule__Furniture__Group_3_3__12092);
            rule__Furniture__Group_3_3__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Furniture__Group_3_3__1


    // $ANTLR start rule__Furniture__Group_3_3__1__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1041:1: rule__Furniture__Group_3_3__1__Impl : ( ( rule__Furniture__VarsAssignment_3_3_1 ) ) ;
    public final void rule__Furniture__Group_3_3__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1045:1: ( ( ( rule__Furniture__VarsAssignment_3_3_1 ) ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1046:1: ( ( rule__Furniture__VarsAssignment_3_3_1 ) )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1046:1: ( ( rule__Furniture__VarsAssignment_3_3_1 ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1047:1: ( rule__Furniture__VarsAssignment_3_3_1 )
            {
             before(grammarAccess.getFurnitureAccess().getVarsAssignment_3_3_1()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1048:1: ( rule__Furniture__VarsAssignment_3_3_1 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1048:2: rule__Furniture__VarsAssignment_3_3_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__Furniture__VarsAssignment_3_3_1_in_rule__Furniture__Group_3_3__1__Impl2119);
            rule__Furniture__VarsAssignment_3_3_1();
            _fsp--;


            }

             after(grammarAccess.getFurnitureAccess().getVarsAssignment_3_3_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Furniture__Group_3_3__1__Impl


    // $ANTLR start rule__Furniture__Group_4__0
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1062:1: rule__Furniture__Group_4__0 : rule__Furniture__Group_4__0__Impl rule__Furniture__Group_4__1 ;
    public final void rule__Furniture__Group_4__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1066:1: ( rule__Furniture__Group_4__0__Impl rule__Furniture__Group_4__1 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1067:2: rule__Furniture__Group_4__0__Impl rule__Furniture__Group_4__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__Furniture__Group_4__0__Impl_in_rule__Furniture__Group_4__02153);
            rule__Furniture__Group_4__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Furniture__Group_4__1_in_rule__Furniture__Group_4__02156);
            rule__Furniture__Group_4__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Furniture__Group_4__0


    // $ANTLR start rule__Furniture__Group_4__0__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1074:1: rule__Furniture__Group_4__0__Impl : ( 'boards' ) ;
    public final void rule__Furniture__Group_4__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1078:1: ( ( 'boards' ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1079:1: ( 'boards' )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1079:1: ( 'boards' )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1080:1: 'boards'
            {
             before(grammarAccess.getFurnitureAccess().getBoardsKeyword_4_0()); 
            match(input,21,FollowSets000.FOLLOW_21_in_rule__Furniture__Group_4__0__Impl2184); 
             after(grammarAccess.getFurnitureAccess().getBoardsKeyword_4_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Furniture__Group_4__0__Impl


    // $ANTLR start rule__Furniture__Group_4__1
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1093:1: rule__Furniture__Group_4__1 : rule__Furniture__Group_4__1__Impl rule__Furniture__Group_4__2 ;
    public final void rule__Furniture__Group_4__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1097:1: ( rule__Furniture__Group_4__1__Impl rule__Furniture__Group_4__2 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1098:2: rule__Furniture__Group_4__1__Impl rule__Furniture__Group_4__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__Furniture__Group_4__1__Impl_in_rule__Furniture__Group_4__12215);
            rule__Furniture__Group_4__1__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Furniture__Group_4__2_in_rule__Furniture__Group_4__12218);
            rule__Furniture__Group_4__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Furniture__Group_4__1


    // $ANTLR start rule__Furniture__Group_4__1__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1105:1: rule__Furniture__Group_4__1__Impl : ( '{' ) ;
    public final void rule__Furniture__Group_4__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1109:1: ( ( '{' ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1110:1: ( '{' )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1110:1: ( '{' )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1111:1: '{'
            {
             before(grammarAccess.getFurnitureAccess().getLeftCurlyBracketKeyword_4_1()); 
            match(input,17,FollowSets000.FOLLOW_17_in_rule__Furniture__Group_4__1__Impl2246); 
             after(grammarAccess.getFurnitureAccess().getLeftCurlyBracketKeyword_4_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Furniture__Group_4__1__Impl


    // $ANTLR start rule__Furniture__Group_4__2
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1124:1: rule__Furniture__Group_4__2 : rule__Furniture__Group_4__2__Impl rule__Furniture__Group_4__3 ;
    public final void rule__Furniture__Group_4__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1128:1: ( rule__Furniture__Group_4__2__Impl rule__Furniture__Group_4__3 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1129:2: rule__Furniture__Group_4__2__Impl rule__Furniture__Group_4__3
            {
            pushFollow(FollowSets000.FOLLOW_rule__Furniture__Group_4__2__Impl_in_rule__Furniture__Group_4__22277);
            rule__Furniture__Group_4__2__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Furniture__Group_4__3_in_rule__Furniture__Group_4__22280);
            rule__Furniture__Group_4__3();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Furniture__Group_4__2


    // $ANTLR start rule__Furniture__Group_4__2__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1136:1: rule__Furniture__Group_4__2__Impl : ( ( rule__Furniture__BoardsAssignment_4_2 ) ) ;
    public final void rule__Furniture__Group_4__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1140:1: ( ( ( rule__Furniture__BoardsAssignment_4_2 ) ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1141:1: ( ( rule__Furniture__BoardsAssignment_4_2 ) )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1141:1: ( ( rule__Furniture__BoardsAssignment_4_2 ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1142:1: ( rule__Furniture__BoardsAssignment_4_2 )
            {
             before(grammarAccess.getFurnitureAccess().getBoardsAssignment_4_2()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1143:1: ( rule__Furniture__BoardsAssignment_4_2 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1143:2: rule__Furniture__BoardsAssignment_4_2
            {
            pushFollow(FollowSets000.FOLLOW_rule__Furniture__BoardsAssignment_4_2_in_rule__Furniture__Group_4__2__Impl2307);
            rule__Furniture__BoardsAssignment_4_2();
            _fsp--;


            }

             after(grammarAccess.getFurnitureAccess().getBoardsAssignment_4_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Furniture__Group_4__2__Impl


    // $ANTLR start rule__Furniture__Group_4__3
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1153:1: rule__Furniture__Group_4__3 : rule__Furniture__Group_4__3__Impl rule__Furniture__Group_4__4 ;
    public final void rule__Furniture__Group_4__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1157:1: ( rule__Furniture__Group_4__3__Impl rule__Furniture__Group_4__4 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1158:2: rule__Furniture__Group_4__3__Impl rule__Furniture__Group_4__4
            {
            pushFollow(FollowSets000.FOLLOW_rule__Furniture__Group_4__3__Impl_in_rule__Furniture__Group_4__32337);
            rule__Furniture__Group_4__3__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Furniture__Group_4__4_in_rule__Furniture__Group_4__32340);
            rule__Furniture__Group_4__4();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Furniture__Group_4__3


    // $ANTLR start rule__Furniture__Group_4__3__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1165:1: rule__Furniture__Group_4__3__Impl : ( ( rule__Furniture__Group_4_3__0 )* ) ;
    public final void rule__Furniture__Group_4__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1169:1: ( ( ( rule__Furniture__Group_4_3__0 )* ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1170:1: ( ( rule__Furniture__Group_4_3__0 )* )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1170:1: ( ( rule__Furniture__Group_4_3__0 )* )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1171:1: ( rule__Furniture__Group_4_3__0 )*
            {
             before(grammarAccess.getFurnitureAccess().getGroup_4_3()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1172:1: ( rule__Furniture__Group_4_3__0 )*
            loop10:
            do {
                int alt10=2;
                int LA10_0 = input.LA(1);

                if ( (LA10_0==20) ) {
                    alt10=1;
                }


                switch (alt10) {
            	case 1 :
            	    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1172:2: rule__Furniture__Group_4_3__0
            	    {
            	    pushFollow(FollowSets000.FOLLOW_rule__Furniture__Group_4_3__0_in_rule__Furniture__Group_4__3__Impl2367);
            	    rule__Furniture__Group_4_3__0();
            	    _fsp--;


            	    }
            	    break;

            	default :
            	    break loop10;
                }
            } while (true);

             after(grammarAccess.getFurnitureAccess().getGroup_4_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Furniture__Group_4__3__Impl


    // $ANTLR start rule__Furniture__Group_4__4
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1182:1: rule__Furniture__Group_4__4 : rule__Furniture__Group_4__4__Impl ;
    public final void rule__Furniture__Group_4__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1186:1: ( rule__Furniture__Group_4__4__Impl )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1187:2: rule__Furniture__Group_4__4__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__Furniture__Group_4__4__Impl_in_rule__Furniture__Group_4__42398);
            rule__Furniture__Group_4__4__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Furniture__Group_4__4


    // $ANTLR start rule__Furniture__Group_4__4__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1193:1: rule__Furniture__Group_4__4__Impl : ( '}' ) ;
    public final void rule__Furniture__Group_4__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1197:1: ( ( '}' ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1198:1: ( '}' )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1198:1: ( '}' )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1199:1: '}'
            {
             before(grammarAccess.getFurnitureAccess().getRightCurlyBracketKeyword_4_4()); 
            match(input,18,FollowSets000.FOLLOW_18_in_rule__Furniture__Group_4__4__Impl2426); 
             after(grammarAccess.getFurnitureAccess().getRightCurlyBracketKeyword_4_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Furniture__Group_4__4__Impl


    // $ANTLR start rule__Furniture__Group_4_3__0
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1222:1: rule__Furniture__Group_4_3__0 : rule__Furniture__Group_4_3__0__Impl rule__Furniture__Group_4_3__1 ;
    public final void rule__Furniture__Group_4_3__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1226:1: ( rule__Furniture__Group_4_3__0__Impl rule__Furniture__Group_4_3__1 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1227:2: rule__Furniture__Group_4_3__0__Impl rule__Furniture__Group_4_3__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__Furniture__Group_4_3__0__Impl_in_rule__Furniture__Group_4_3__02467);
            rule__Furniture__Group_4_3__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Furniture__Group_4_3__1_in_rule__Furniture__Group_4_3__02470);
            rule__Furniture__Group_4_3__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Furniture__Group_4_3__0


    // $ANTLR start rule__Furniture__Group_4_3__0__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1234:1: rule__Furniture__Group_4_3__0__Impl : ( ',' ) ;
    public final void rule__Furniture__Group_4_3__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1238:1: ( ( ',' ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1239:1: ( ',' )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1239:1: ( ',' )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1240:1: ','
            {
             before(grammarAccess.getFurnitureAccess().getCommaKeyword_4_3_0()); 
            match(input,20,FollowSets000.FOLLOW_20_in_rule__Furniture__Group_4_3__0__Impl2498); 
             after(grammarAccess.getFurnitureAccess().getCommaKeyword_4_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Furniture__Group_4_3__0__Impl


    // $ANTLR start rule__Furniture__Group_4_3__1
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1253:1: rule__Furniture__Group_4_3__1 : rule__Furniture__Group_4_3__1__Impl ;
    public final void rule__Furniture__Group_4_3__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1257:1: ( rule__Furniture__Group_4_3__1__Impl )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1258:2: rule__Furniture__Group_4_3__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__Furniture__Group_4_3__1__Impl_in_rule__Furniture__Group_4_3__12529);
            rule__Furniture__Group_4_3__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Furniture__Group_4_3__1


    // $ANTLR start rule__Furniture__Group_4_3__1__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1264:1: rule__Furniture__Group_4_3__1__Impl : ( ( rule__Furniture__BoardsAssignment_4_3_1 ) ) ;
    public final void rule__Furniture__Group_4_3__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1268:1: ( ( ( rule__Furniture__BoardsAssignment_4_3_1 ) ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1269:1: ( ( rule__Furniture__BoardsAssignment_4_3_1 ) )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1269:1: ( ( rule__Furniture__BoardsAssignment_4_3_1 ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1270:1: ( rule__Furniture__BoardsAssignment_4_3_1 )
            {
             before(grammarAccess.getFurnitureAccess().getBoardsAssignment_4_3_1()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1271:1: ( rule__Furniture__BoardsAssignment_4_3_1 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1271:2: rule__Furniture__BoardsAssignment_4_3_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__Furniture__BoardsAssignment_4_3_1_in_rule__Furniture__Group_4_3__1__Impl2556);
            rule__Furniture__BoardsAssignment_4_3_1();
            _fsp--;


            }

             after(grammarAccess.getFurnitureAccess().getBoardsAssignment_4_3_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Furniture__Group_4_3__1__Impl


    // $ANTLR start rule__Furniture__Group_5__0
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1285:1: rule__Furniture__Group_5__0 : rule__Furniture__Group_5__0__Impl rule__Furniture__Group_5__1 ;
    public final void rule__Furniture__Group_5__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1289:1: ( rule__Furniture__Group_5__0__Impl rule__Furniture__Group_5__1 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1290:2: rule__Furniture__Group_5__0__Impl rule__Furniture__Group_5__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__Furniture__Group_5__0__Impl_in_rule__Furniture__Group_5__02590);
            rule__Furniture__Group_5__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Furniture__Group_5__1_in_rule__Furniture__Group_5__02593);
            rule__Furniture__Group_5__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Furniture__Group_5__0


    // $ANTLR start rule__Furniture__Group_5__0__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1297:1: rule__Furniture__Group_5__0__Impl : ( 'parts' ) ;
    public final void rule__Furniture__Group_5__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1301:1: ( ( 'parts' ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1302:1: ( 'parts' )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1302:1: ( 'parts' )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1303:1: 'parts'
            {
             before(grammarAccess.getFurnitureAccess().getPartsKeyword_5_0()); 
            match(input,22,FollowSets000.FOLLOW_22_in_rule__Furniture__Group_5__0__Impl2621); 
             after(grammarAccess.getFurnitureAccess().getPartsKeyword_5_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Furniture__Group_5__0__Impl


    // $ANTLR start rule__Furniture__Group_5__1
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1316:1: rule__Furniture__Group_5__1 : rule__Furniture__Group_5__1__Impl rule__Furniture__Group_5__2 ;
    public final void rule__Furniture__Group_5__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1320:1: ( rule__Furniture__Group_5__1__Impl rule__Furniture__Group_5__2 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1321:2: rule__Furniture__Group_5__1__Impl rule__Furniture__Group_5__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__Furniture__Group_5__1__Impl_in_rule__Furniture__Group_5__12652);
            rule__Furniture__Group_5__1__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Furniture__Group_5__2_in_rule__Furniture__Group_5__12655);
            rule__Furniture__Group_5__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Furniture__Group_5__1


    // $ANTLR start rule__Furniture__Group_5__1__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1328:1: rule__Furniture__Group_5__1__Impl : ( '{' ) ;
    public final void rule__Furniture__Group_5__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1332:1: ( ( '{' ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1333:1: ( '{' )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1333:1: ( '{' )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1334:1: '{'
            {
             before(grammarAccess.getFurnitureAccess().getLeftCurlyBracketKeyword_5_1()); 
            match(input,17,FollowSets000.FOLLOW_17_in_rule__Furniture__Group_5__1__Impl2683); 
             after(grammarAccess.getFurnitureAccess().getLeftCurlyBracketKeyword_5_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Furniture__Group_5__1__Impl


    // $ANTLR start rule__Furniture__Group_5__2
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1347:1: rule__Furniture__Group_5__2 : rule__Furniture__Group_5__2__Impl rule__Furniture__Group_5__3 ;
    public final void rule__Furniture__Group_5__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1351:1: ( rule__Furniture__Group_5__2__Impl rule__Furniture__Group_5__3 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1352:2: rule__Furniture__Group_5__2__Impl rule__Furniture__Group_5__3
            {
            pushFollow(FollowSets000.FOLLOW_rule__Furniture__Group_5__2__Impl_in_rule__Furniture__Group_5__22714);
            rule__Furniture__Group_5__2__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Furniture__Group_5__3_in_rule__Furniture__Group_5__22717);
            rule__Furniture__Group_5__3();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Furniture__Group_5__2


    // $ANTLR start rule__Furniture__Group_5__2__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1359:1: rule__Furniture__Group_5__2__Impl : ( ( rule__Furniture__PartsAssignment_5_2 ) ) ;
    public final void rule__Furniture__Group_5__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1363:1: ( ( ( rule__Furniture__PartsAssignment_5_2 ) ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1364:1: ( ( rule__Furniture__PartsAssignment_5_2 ) )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1364:1: ( ( rule__Furniture__PartsAssignment_5_2 ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1365:1: ( rule__Furniture__PartsAssignment_5_2 )
            {
             before(grammarAccess.getFurnitureAccess().getPartsAssignment_5_2()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1366:1: ( rule__Furniture__PartsAssignment_5_2 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1366:2: rule__Furniture__PartsAssignment_5_2
            {
            pushFollow(FollowSets000.FOLLOW_rule__Furniture__PartsAssignment_5_2_in_rule__Furniture__Group_5__2__Impl2744);
            rule__Furniture__PartsAssignment_5_2();
            _fsp--;


            }

             after(grammarAccess.getFurnitureAccess().getPartsAssignment_5_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Furniture__Group_5__2__Impl


    // $ANTLR start rule__Furniture__Group_5__3
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1376:1: rule__Furniture__Group_5__3 : rule__Furniture__Group_5__3__Impl rule__Furniture__Group_5__4 ;
    public final void rule__Furniture__Group_5__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1380:1: ( rule__Furniture__Group_5__3__Impl rule__Furniture__Group_5__4 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1381:2: rule__Furniture__Group_5__3__Impl rule__Furniture__Group_5__4
            {
            pushFollow(FollowSets000.FOLLOW_rule__Furniture__Group_5__3__Impl_in_rule__Furniture__Group_5__32774);
            rule__Furniture__Group_5__3__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Furniture__Group_5__4_in_rule__Furniture__Group_5__32777);
            rule__Furniture__Group_5__4();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Furniture__Group_5__3


    // $ANTLR start rule__Furniture__Group_5__3__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1388:1: rule__Furniture__Group_5__3__Impl : ( ( rule__Furniture__Group_5_3__0 )* ) ;
    public final void rule__Furniture__Group_5__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1392:1: ( ( ( rule__Furniture__Group_5_3__0 )* ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1393:1: ( ( rule__Furniture__Group_5_3__0 )* )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1393:1: ( ( rule__Furniture__Group_5_3__0 )* )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1394:1: ( rule__Furniture__Group_5_3__0 )*
            {
             before(grammarAccess.getFurnitureAccess().getGroup_5_3()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1395:1: ( rule__Furniture__Group_5_3__0 )*
            loop11:
            do {
                int alt11=2;
                int LA11_0 = input.LA(1);

                if ( (LA11_0==20) ) {
                    alt11=1;
                }


                switch (alt11) {
            	case 1 :
            	    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1395:2: rule__Furniture__Group_5_3__0
            	    {
            	    pushFollow(FollowSets000.FOLLOW_rule__Furniture__Group_5_3__0_in_rule__Furniture__Group_5__3__Impl2804);
            	    rule__Furniture__Group_5_3__0();
            	    _fsp--;


            	    }
            	    break;

            	default :
            	    break loop11;
                }
            } while (true);

             after(grammarAccess.getFurnitureAccess().getGroup_5_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Furniture__Group_5__3__Impl


    // $ANTLR start rule__Furniture__Group_5__4
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1405:1: rule__Furniture__Group_5__4 : rule__Furniture__Group_5__4__Impl ;
    public final void rule__Furniture__Group_5__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1409:1: ( rule__Furniture__Group_5__4__Impl )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1410:2: rule__Furniture__Group_5__4__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__Furniture__Group_5__4__Impl_in_rule__Furniture__Group_5__42835);
            rule__Furniture__Group_5__4__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Furniture__Group_5__4


    // $ANTLR start rule__Furniture__Group_5__4__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1416:1: rule__Furniture__Group_5__4__Impl : ( '}' ) ;
    public final void rule__Furniture__Group_5__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1420:1: ( ( '}' ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1421:1: ( '}' )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1421:1: ( '}' )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1422:1: '}'
            {
             before(grammarAccess.getFurnitureAccess().getRightCurlyBracketKeyword_5_4()); 
            match(input,18,FollowSets000.FOLLOW_18_in_rule__Furniture__Group_5__4__Impl2863); 
             after(grammarAccess.getFurnitureAccess().getRightCurlyBracketKeyword_5_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Furniture__Group_5__4__Impl


    // $ANTLR start rule__Furniture__Group_5_3__0
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1445:1: rule__Furniture__Group_5_3__0 : rule__Furniture__Group_5_3__0__Impl rule__Furniture__Group_5_3__1 ;
    public final void rule__Furniture__Group_5_3__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1449:1: ( rule__Furniture__Group_5_3__0__Impl rule__Furniture__Group_5_3__1 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1450:2: rule__Furniture__Group_5_3__0__Impl rule__Furniture__Group_5_3__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__Furniture__Group_5_3__0__Impl_in_rule__Furniture__Group_5_3__02904);
            rule__Furniture__Group_5_3__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Furniture__Group_5_3__1_in_rule__Furniture__Group_5_3__02907);
            rule__Furniture__Group_5_3__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Furniture__Group_5_3__0


    // $ANTLR start rule__Furniture__Group_5_3__0__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1457:1: rule__Furniture__Group_5_3__0__Impl : ( ',' ) ;
    public final void rule__Furniture__Group_5_3__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1461:1: ( ( ',' ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1462:1: ( ',' )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1462:1: ( ',' )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1463:1: ','
            {
             before(grammarAccess.getFurnitureAccess().getCommaKeyword_5_3_0()); 
            match(input,20,FollowSets000.FOLLOW_20_in_rule__Furniture__Group_5_3__0__Impl2935); 
             after(grammarAccess.getFurnitureAccess().getCommaKeyword_5_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Furniture__Group_5_3__0__Impl


    // $ANTLR start rule__Furniture__Group_5_3__1
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1476:1: rule__Furniture__Group_5_3__1 : rule__Furniture__Group_5_3__1__Impl ;
    public final void rule__Furniture__Group_5_3__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1480:1: ( rule__Furniture__Group_5_3__1__Impl )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1481:2: rule__Furniture__Group_5_3__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__Furniture__Group_5_3__1__Impl_in_rule__Furniture__Group_5_3__12966);
            rule__Furniture__Group_5_3__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Furniture__Group_5_3__1


    // $ANTLR start rule__Furniture__Group_5_3__1__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1487:1: rule__Furniture__Group_5_3__1__Impl : ( ( rule__Furniture__PartsAssignment_5_3_1 ) ) ;
    public final void rule__Furniture__Group_5_3__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1491:1: ( ( ( rule__Furniture__PartsAssignment_5_3_1 ) ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1492:1: ( ( rule__Furniture__PartsAssignment_5_3_1 ) )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1492:1: ( ( rule__Furniture__PartsAssignment_5_3_1 ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1493:1: ( rule__Furniture__PartsAssignment_5_3_1 )
            {
             before(grammarAccess.getFurnitureAccess().getPartsAssignment_5_3_1()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1494:1: ( rule__Furniture__PartsAssignment_5_3_1 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1494:2: rule__Furniture__PartsAssignment_5_3_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__Furniture__PartsAssignment_5_3_1_in_rule__Furniture__Group_5_3__1__Impl2993);
            rule__Furniture__PartsAssignment_5_3_1();
            _fsp--;


            }

             after(grammarAccess.getFurnitureAccess().getPartsAssignment_5_3_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Furniture__Group_5_3__1__Impl


    // $ANTLR start rule__NamedValue__Group__0
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1508:1: rule__NamedValue__Group__0 : rule__NamedValue__Group__0__Impl rule__NamedValue__Group__1 ;
    public final void rule__NamedValue__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1512:1: ( rule__NamedValue__Group__0__Impl rule__NamedValue__Group__1 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1513:2: rule__NamedValue__Group__0__Impl rule__NamedValue__Group__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__NamedValue__Group__0__Impl_in_rule__NamedValue__Group__03027);
            rule__NamedValue__Group__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__NamedValue__Group__1_in_rule__NamedValue__Group__03030);
            rule__NamedValue__Group__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__NamedValue__Group__0


    // $ANTLR start rule__NamedValue__Group__0__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1520:1: rule__NamedValue__Group__0__Impl : ( () ) ;
    public final void rule__NamedValue__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1524:1: ( ( () ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1525:1: ( () )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1525:1: ( () )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1526:1: ()
            {
             before(grammarAccess.getNamedValueAccess().getNamedValueAction_0()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1527:1: ()
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1529:1: 
            {
            }

             after(grammarAccess.getNamedValueAccess().getNamedValueAction_0()); 

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__NamedValue__Group__0__Impl


    // $ANTLR start rule__NamedValue__Group__1
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1539:1: rule__NamedValue__Group__1 : rule__NamedValue__Group__1__Impl rule__NamedValue__Group__2 ;
    public final void rule__NamedValue__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1543:1: ( rule__NamedValue__Group__1__Impl rule__NamedValue__Group__2 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1544:2: rule__NamedValue__Group__1__Impl rule__NamedValue__Group__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__NamedValue__Group__1__Impl_in_rule__NamedValue__Group__13088);
            rule__NamedValue__Group__1__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__NamedValue__Group__2_in_rule__NamedValue__Group__13091);
            rule__NamedValue__Group__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__NamedValue__Group__1


    // $ANTLR start rule__NamedValue__Group__1__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1551:1: rule__NamedValue__Group__1__Impl : ( 'NamedValue' ) ;
    public final void rule__NamedValue__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1555:1: ( ( 'NamedValue' ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1556:1: ( 'NamedValue' )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1556:1: ( 'NamedValue' )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1557:1: 'NamedValue'
            {
             before(grammarAccess.getNamedValueAccess().getNamedValueKeyword_1()); 
            match(input,23,FollowSets000.FOLLOW_23_in_rule__NamedValue__Group__1__Impl3119); 
             after(grammarAccess.getNamedValueAccess().getNamedValueKeyword_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__NamedValue__Group__1__Impl


    // $ANTLR start rule__NamedValue__Group__2
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1570:1: rule__NamedValue__Group__2 : rule__NamedValue__Group__2__Impl rule__NamedValue__Group__3 ;
    public final void rule__NamedValue__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1574:1: ( rule__NamedValue__Group__2__Impl rule__NamedValue__Group__3 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1575:2: rule__NamedValue__Group__2__Impl rule__NamedValue__Group__3
            {
            pushFollow(FollowSets000.FOLLOW_rule__NamedValue__Group__2__Impl_in_rule__NamedValue__Group__23150);
            rule__NamedValue__Group__2__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__NamedValue__Group__3_in_rule__NamedValue__Group__23153);
            rule__NamedValue__Group__3();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__NamedValue__Group__2


    // $ANTLR start rule__NamedValue__Group__2__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1582:1: rule__NamedValue__Group__2__Impl : ( ( rule__NamedValue__NameAssignment_2 ) ) ;
    public final void rule__NamedValue__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1586:1: ( ( ( rule__NamedValue__NameAssignment_2 ) ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1587:1: ( ( rule__NamedValue__NameAssignment_2 ) )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1587:1: ( ( rule__NamedValue__NameAssignment_2 ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1588:1: ( rule__NamedValue__NameAssignment_2 )
            {
             before(grammarAccess.getNamedValueAccess().getNameAssignment_2()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1589:1: ( rule__NamedValue__NameAssignment_2 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1589:2: rule__NamedValue__NameAssignment_2
            {
            pushFollow(FollowSets000.FOLLOW_rule__NamedValue__NameAssignment_2_in_rule__NamedValue__Group__2__Impl3180);
            rule__NamedValue__NameAssignment_2();
            _fsp--;


            }

             after(grammarAccess.getNamedValueAccess().getNameAssignment_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__NamedValue__Group__2__Impl


    // $ANTLR start rule__NamedValue__Group__3
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1599:1: rule__NamedValue__Group__3 : rule__NamedValue__Group__3__Impl rule__NamedValue__Group__4 ;
    public final void rule__NamedValue__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1603:1: ( rule__NamedValue__Group__3__Impl rule__NamedValue__Group__4 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1604:2: rule__NamedValue__Group__3__Impl rule__NamedValue__Group__4
            {
            pushFollow(FollowSets000.FOLLOW_rule__NamedValue__Group__3__Impl_in_rule__NamedValue__Group__33210);
            rule__NamedValue__Group__3__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__NamedValue__Group__4_in_rule__NamedValue__Group__33213);
            rule__NamedValue__Group__4();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__NamedValue__Group__3


    // $ANTLR start rule__NamedValue__Group__3__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1611:1: rule__NamedValue__Group__3__Impl : ( '{' ) ;
    public final void rule__NamedValue__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1615:1: ( ( '{' ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1616:1: ( '{' )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1616:1: ( '{' )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1617:1: '{'
            {
             before(grammarAccess.getNamedValueAccess().getLeftCurlyBracketKeyword_3()); 
            match(input,17,FollowSets000.FOLLOW_17_in_rule__NamedValue__Group__3__Impl3241); 
             after(grammarAccess.getNamedValueAccess().getLeftCurlyBracketKeyword_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__NamedValue__Group__3__Impl


    // $ANTLR start rule__NamedValue__Group__4
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1630:1: rule__NamedValue__Group__4 : rule__NamedValue__Group__4__Impl rule__NamedValue__Group__5 ;
    public final void rule__NamedValue__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1634:1: ( rule__NamedValue__Group__4__Impl rule__NamedValue__Group__5 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1635:2: rule__NamedValue__Group__4__Impl rule__NamedValue__Group__5
            {
            pushFollow(FollowSets000.FOLLOW_rule__NamedValue__Group__4__Impl_in_rule__NamedValue__Group__43272);
            rule__NamedValue__Group__4__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__NamedValue__Group__5_in_rule__NamedValue__Group__43275);
            rule__NamedValue__Group__5();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__NamedValue__Group__4


    // $ANTLR start rule__NamedValue__Group__4__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1642:1: rule__NamedValue__Group__4__Impl : ( ( rule__NamedValue__Group_4__0 )? ) ;
    public final void rule__NamedValue__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1646:1: ( ( ( rule__NamedValue__Group_4__0 )? ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1647:1: ( ( rule__NamedValue__Group_4__0 )? )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1647:1: ( ( rule__NamedValue__Group_4__0 )? )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1648:1: ( rule__NamedValue__Group_4__0 )?
            {
             before(grammarAccess.getNamedValueAccess().getGroup_4()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1649:1: ( rule__NamedValue__Group_4__0 )?
            int alt12=2;
            int LA12_0 = input.LA(1);

            if ( (LA12_0==24) ) {
                alt12=1;
            }
            switch (alt12) {
                case 1 :
                    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1649:2: rule__NamedValue__Group_4__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__NamedValue__Group_4__0_in_rule__NamedValue__Group__4__Impl3302);
                    rule__NamedValue__Group_4__0();
                    _fsp--;


                    }
                    break;

            }

             after(grammarAccess.getNamedValueAccess().getGroup_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__NamedValue__Group__4__Impl


    // $ANTLR start rule__NamedValue__Group__5
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1659:1: rule__NamedValue__Group__5 : rule__NamedValue__Group__5__Impl ;
    public final void rule__NamedValue__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1663:1: ( rule__NamedValue__Group__5__Impl )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1664:2: rule__NamedValue__Group__5__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__NamedValue__Group__5__Impl_in_rule__NamedValue__Group__53333);
            rule__NamedValue__Group__5__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__NamedValue__Group__5


    // $ANTLR start rule__NamedValue__Group__5__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1670:1: rule__NamedValue__Group__5__Impl : ( '}' ) ;
    public final void rule__NamedValue__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1674:1: ( ( '}' ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1675:1: ( '}' )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1675:1: ( '}' )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1676:1: '}'
            {
             before(grammarAccess.getNamedValueAccess().getRightCurlyBracketKeyword_5()); 
            match(input,18,FollowSets000.FOLLOW_18_in_rule__NamedValue__Group__5__Impl3361); 
             after(grammarAccess.getNamedValueAccess().getRightCurlyBracketKeyword_5()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__NamedValue__Group__5__Impl


    // $ANTLR start rule__NamedValue__Group_4__0
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1701:1: rule__NamedValue__Group_4__0 : rule__NamedValue__Group_4__0__Impl rule__NamedValue__Group_4__1 ;
    public final void rule__NamedValue__Group_4__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1705:1: ( rule__NamedValue__Group_4__0__Impl rule__NamedValue__Group_4__1 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1706:2: rule__NamedValue__Group_4__0__Impl rule__NamedValue__Group_4__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__NamedValue__Group_4__0__Impl_in_rule__NamedValue__Group_4__03404);
            rule__NamedValue__Group_4__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__NamedValue__Group_4__1_in_rule__NamedValue__Group_4__03407);
            rule__NamedValue__Group_4__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__NamedValue__Group_4__0


    // $ANTLR start rule__NamedValue__Group_4__0__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1713:1: rule__NamedValue__Group_4__0__Impl : ( 'value' ) ;
    public final void rule__NamedValue__Group_4__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1717:1: ( ( 'value' ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1718:1: ( 'value' )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1718:1: ( 'value' )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1719:1: 'value'
            {
             before(grammarAccess.getNamedValueAccess().getValueKeyword_4_0()); 
            match(input,24,FollowSets000.FOLLOW_24_in_rule__NamedValue__Group_4__0__Impl3435); 
             after(grammarAccess.getNamedValueAccess().getValueKeyword_4_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__NamedValue__Group_4__0__Impl


    // $ANTLR start rule__NamedValue__Group_4__1
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1732:1: rule__NamedValue__Group_4__1 : rule__NamedValue__Group_4__1__Impl ;
    public final void rule__NamedValue__Group_4__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1736:1: ( rule__NamedValue__Group_4__1__Impl )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1737:2: rule__NamedValue__Group_4__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__NamedValue__Group_4__1__Impl_in_rule__NamedValue__Group_4__13466);
            rule__NamedValue__Group_4__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__NamedValue__Group_4__1


    // $ANTLR start rule__NamedValue__Group_4__1__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1743:1: rule__NamedValue__Group_4__1__Impl : ( ( rule__NamedValue__ValueAssignment_4_1 ) ) ;
    public final void rule__NamedValue__Group_4__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1747:1: ( ( ( rule__NamedValue__ValueAssignment_4_1 ) ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1748:1: ( ( rule__NamedValue__ValueAssignment_4_1 ) )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1748:1: ( ( rule__NamedValue__ValueAssignment_4_1 ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1749:1: ( rule__NamedValue__ValueAssignment_4_1 )
            {
             before(grammarAccess.getNamedValueAccess().getValueAssignment_4_1()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1750:1: ( rule__NamedValue__ValueAssignment_4_1 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1750:2: rule__NamedValue__ValueAssignment_4_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__NamedValue__ValueAssignment_4_1_in_rule__NamedValue__Group_4__1__Impl3493);
            rule__NamedValue__ValueAssignment_4_1();
            _fsp--;


            }

             after(grammarAccess.getNamedValueAccess().getValueAssignment_4_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__NamedValue__Group_4__1__Impl


    // $ANTLR start rule__Part__Group__0
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1764:1: rule__Part__Group__0 : rule__Part__Group__0__Impl rule__Part__Group__1 ;
    public final void rule__Part__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1768:1: ( rule__Part__Group__0__Impl rule__Part__Group__1 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1769:2: rule__Part__Group__0__Impl rule__Part__Group__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__Part__Group__0__Impl_in_rule__Part__Group__03527);
            rule__Part__Group__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Part__Group__1_in_rule__Part__Group__03530);
            rule__Part__Group__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Part__Group__0


    // $ANTLR start rule__Part__Group__0__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1776:1: rule__Part__Group__0__Impl : ( () ) ;
    public final void rule__Part__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1780:1: ( ( () ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1781:1: ( () )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1781:1: ( () )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1782:1: ()
            {
             before(grammarAccess.getPartAccess().getPartAction_0()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1783:1: ()
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1785:1: 
            {
            }

             after(grammarAccess.getPartAccess().getPartAction_0()); 

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Part__Group__0__Impl


    // $ANTLR start rule__Part__Group__1
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1795:1: rule__Part__Group__1 : rule__Part__Group__1__Impl rule__Part__Group__2 ;
    public final void rule__Part__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1799:1: ( rule__Part__Group__1__Impl rule__Part__Group__2 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1800:2: rule__Part__Group__1__Impl rule__Part__Group__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__Part__Group__1__Impl_in_rule__Part__Group__13588);
            rule__Part__Group__1__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Part__Group__2_in_rule__Part__Group__13591);
            rule__Part__Group__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Part__Group__1


    // $ANTLR start rule__Part__Group__1__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1807:1: rule__Part__Group__1__Impl : ( 'Part' ) ;
    public final void rule__Part__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1811:1: ( ( 'Part' ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1812:1: ( 'Part' )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1812:1: ( 'Part' )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1813:1: 'Part'
            {
             before(grammarAccess.getPartAccess().getPartKeyword_1()); 
            match(input,25,FollowSets000.FOLLOW_25_in_rule__Part__Group__1__Impl3619); 
             after(grammarAccess.getPartAccess().getPartKeyword_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Part__Group__1__Impl


    // $ANTLR start rule__Part__Group__2
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1826:1: rule__Part__Group__2 : rule__Part__Group__2__Impl rule__Part__Group__3 ;
    public final void rule__Part__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1830:1: ( rule__Part__Group__2__Impl rule__Part__Group__3 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1831:2: rule__Part__Group__2__Impl rule__Part__Group__3
            {
            pushFollow(FollowSets000.FOLLOW_rule__Part__Group__2__Impl_in_rule__Part__Group__23650);
            rule__Part__Group__2__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Part__Group__3_in_rule__Part__Group__23653);
            rule__Part__Group__3();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Part__Group__2


    // $ANTLR start rule__Part__Group__2__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1838:1: rule__Part__Group__2__Impl : ( ( rule__Part__NameAssignment_2 ) ) ;
    public final void rule__Part__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1842:1: ( ( ( rule__Part__NameAssignment_2 ) ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1843:1: ( ( rule__Part__NameAssignment_2 ) )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1843:1: ( ( rule__Part__NameAssignment_2 ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1844:1: ( rule__Part__NameAssignment_2 )
            {
             before(grammarAccess.getPartAccess().getNameAssignment_2()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1845:1: ( rule__Part__NameAssignment_2 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1845:2: rule__Part__NameAssignment_2
            {
            pushFollow(FollowSets000.FOLLOW_rule__Part__NameAssignment_2_in_rule__Part__Group__2__Impl3680);
            rule__Part__NameAssignment_2();
            _fsp--;


            }

             after(grammarAccess.getPartAccess().getNameAssignment_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Part__Group__2__Impl


    // $ANTLR start rule__Part__Group__3
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1855:1: rule__Part__Group__3 : rule__Part__Group__3__Impl rule__Part__Group__4 ;
    public final void rule__Part__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1859:1: ( rule__Part__Group__3__Impl rule__Part__Group__4 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1860:2: rule__Part__Group__3__Impl rule__Part__Group__4
            {
            pushFollow(FollowSets000.FOLLOW_rule__Part__Group__3__Impl_in_rule__Part__Group__33710);
            rule__Part__Group__3__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Part__Group__4_in_rule__Part__Group__33713);
            rule__Part__Group__4();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Part__Group__3


    // $ANTLR start rule__Part__Group__3__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1867:1: rule__Part__Group__3__Impl : ( '{' ) ;
    public final void rule__Part__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1871:1: ( ( '{' ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1872:1: ( '{' )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1872:1: ( '{' )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1873:1: '{'
            {
             before(grammarAccess.getPartAccess().getLeftCurlyBracketKeyword_3()); 
            match(input,17,FollowSets000.FOLLOW_17_in_rule__Part__Group__3__Impl3741); 
             after(grammarAccess.getPartAccess().getLeftCurlyBracketKeyword_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Part__Group__3__Impl


    // $ANTLR start rule__Part__Group__4
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1886:1: rule__Part__Group__4 : rule__Part__Group__4__Impl rule__Part__Group__5 ;
    public final void rule__Part__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1890:1: ( rule__Part__Group__4__Impl rule__Part__Group__5 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1891:2: rule__Part__Group__4__Impl rule__Part__Group__5
            {
            pushFollow(FollowSets000.FOLLOW_rule__Part__Group__4__Impl_in_rule__Part__Group__43772);
            rule__Part__Group__4__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Part__Group__5_in_rule__Part__Group__43775);
            rule__Part__Group__5();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Part__Group__4


    // $ANTLR start rule__Part__Group__4__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1898:1: rule__Part__Group__4__Impl : ( ( rule__Part__Group_4__0 )? ) ;
    public final void rule__Part__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1902:1: ( ( ( rule__Part__Group_4__0 )? ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1903:1: ( ( rule__Part__Group_4__0 )? )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1903:1: ( ( rule__Part__Group_4__0 )? )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1904:1: ( rule__Part__Group_4__0 )?
            {
             before(grammarAccess.getPartAccess().getGroup_4()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1905:1: ( rule__Part__Group_4__0 )?
            int alt13=2;
            int LA13_0 = input.LA(1);

            if ( (LA13_0==26) ) {
                alt13=1;
            }
            switch (alt13) {
                case 1 :
                    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1905:2: rule__Part__Group_4__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__Part__Group_4__0_in_rule__Part__Group__4__Impl3802);
                    rule__Part__Group_4__0();
                    _fsp--;


                    }
                    break;

            }

             after(grammarAccess.getPartAccess().getGroup_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Part__Group__4__Impl


    // $ANTLR start rule__Part__Group__5
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1915:1: rule__Part__Group__5 : rule__Part__Group__5__Impl rule__Part__Group__6 ;
    public final void rule__Part__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1919:1: ( rule__Part__Group__5__Impl rule__Part__Group__6 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1920:2: rule__Part__Group__5__Impl rule__Part__Group__6
            {
            pushFollow(FollowSets000.FOLLOW_rule__Part__Group__5__Impl_in_rule__Part__Group__53833);
            rule__Part__Group__5__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Part__Group__6_in_rule__Part__Group__53836);
            rule__Part__Group__6();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Part__Group__5


    // $ANTLR start rule__Part__Group__5__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1927:1: rule__Part__Group__5__Impl : ( ( rule__Part__Group_5__0 )? ) ;
    public final void rule__Part__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1931:1: ( ( ( rule__Part__Group_5__0 )? ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1932:1: ( ( rule__Part__Group_5__0 )? )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1932:1: ( ( rule__Part__Group_5__0 )? )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1933:1: ( rule__Part__Group_5__0 )?
            {
             before(grammarAccess.getPartAccess().getGroup_5()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1934:1: ( rule__Part__Group_5__0 )?
            int alt14=2;
            int LA14_0 = input.LA(1);

            if ( (LA14_0==27) ) {
                alt14=1;
            }
            switch (alt14) {
                case 1 :
                    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1934:2: rule__Part__Group_5__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__Part__Group_5__0_in_rule__Part__Group__5__Impl3863);
                    rule__Part__Group_5__0();
                    _fsp--;


                    }
                    break;

            }

             after(grammarAccess.getPartAccess().getGroup_5()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Part__Group__5__Impl


    // $ANTLR start rule__Part__Group__6
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1944:1: rule__Part__Group__6 : rule__Part__Group__6__Impl rule__Part__Group__7 ;
    public final void rule__Part__Group__6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1948:1: ( rule__Part__Group__6__Impl rule__Part__Group__7 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1949:2: rule__Part__Group__6__Impl rule__Part__Group__7
            {
            pushFollow(FollowSets000.FOLLOW_rule__Part__Group__6__Impl_in_rule__Part__Group__63894);
            rule__Part__Group__6__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Part__Group__7_in_rule__Part__Group__63897);
            rule__Part__Group__7();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Part__Group__6


    // $ANTLR start rule__Part__Group__6__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1956:1: rule__Part__Group__6__Impl : ( ( rule__Part__Group_6__0 )? ) ;
    public final void rule__Part__Group__6__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1960:1: ( ( ( rule__Part__Group_6__0 )? ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1961:1: ( ( rule__Part__Group_6__0 )? )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1961:1: ( ( rule__Part__Group_6__0 )? )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1962:1: ( rule__Part__Group_6__0 )?
            {
             before(grammarAccess.getPartAccess().getGroup_6()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1963:1: ( rule__Part__Group_6__0 )?
            int alt15=2;
            int LA15_0 = input.LA(1);

            if ( (LA15_0==28) ) {
                alt15=1;
            }
            switch (alt15) {
                case 1 :
                    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1963:2: rule__Part__Group_6__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__Part__Group_6__0_in_rule__Part__Group__6__Impl3924);
                    rule__Part__Group_6__0();
                    _fsp--;


                    }
                    break;

            }

             after(grammarAccess.getPartAccess().getGroup_6()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Part__Group__6__Impl


    // $ANTLR start rule__Part__Group__7
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1973:1: rule__Part__Group__7 : rule__Part__Group__7__Impl rule__Part__Group__8 ;
    public final void rule__Part__Group__7() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1977:1: ( rule__Part__Group__7__Impl rule__Part__Group__8 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1978:2: rule__Part__Group__7__Impl rule__Part__Group__8
            {
            pushFollow(FollowSets000.FOLLOW_rule__Part__Group__7__Impl_in_rule__Part__Group__73955);
            rule__Part__Group__7__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Part__Group__8_in_rule__Part__Group__73958);
            rule__Part__Group__8();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Part__Group__7


    // $ANTLR start rule__Part__Group__7__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1985:1: rule__Part__Group__7__Impl : ( ( rule__Part__Group_7__0 )? ) ;
    public final void rule__Part__Group__7__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1989:1: ( ( ( rule__Part__Group_7__0 )? ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1990:1: ( ( rule__Part__Group_7__0 )? )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1990:1: ( ( rule__Part__Group_7__0 )? )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1991:1: ( rule__Part__Group_7__0 )?
            {
             before(grammarAccess.getPartAccess().getGroup_7()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1992:1: ( rule__Part__Group_7__0 )?
            int alt16=2;
            int LA16_0 = input.LA(1);

            if ( (LA16_0==29) ) {
                alt16=1;
            }
            switch (alt16) {
                case 1 :
                    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:1992:2: rule__Part__Group_7__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__Part__Group_7__0_in_rule__Part__Group__7__Impl3985);
                    rule__Part__Group_7__0();
                    _fsp--;


                    }
                    break;

            }

             after(grammarAccess.getPartAccess().getGroup_7()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Part__Group__7__Impl


    // $ANTLR start rule__Part__Group__8
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2002:1: rule__Part__Group__8 : rule__Part__Group__8__Impl rule__Part__Group__9 ;
    public final void rule__Part__Group__8() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2006:1: ( rule__Part__Group__8__Impl rule__Part__Group__9 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2007:2: rule__Part__Group__8__Impl rule__Part__Group__9
            {
            pushFollow(FollowSets000.FOLLOW_rule__Part__Group__8__Impl_in_rule__Part__Group__84016);
            rule__Part__Group__8__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Part__Group__9_in_rule__Part__Group__84019);
            rule__Part__Group__9();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Part__Group__8


    // $ANTLR start rule__Part__Group__8__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2014:1: rule__Part__Group__8__Impl : ( ( rule__Part__Group_8__0 )? ) ;
    public final void rule__Part__Group__8__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2018:1: ( ( ( rule__Part__Group_8__0 )? ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2019:1: ( ( rule__Part__Group_8__0 )? )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2019:1: ( ( rule__Part__Group_8__0 )? )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2020:1: ( rule__Part__Group_8__0 )?
            {
             before(grammarAccess.getPartAccess().getGroup_8()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2021:1: ( rule__Part__Group_8__0 )?
            int alt17=2;
            int LA17_0 = input.LA(1);

            if ( (LA17_0==30) ) {
                alt17=1;
            }
            switch (alt17) {
                case 1 :
                    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2021:2: rule__Part__Group_8__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__Part__Group_8__0_in_rule__Part__Group__8__Impl4046);
                    rule__Part__Group_8__0();
                    _fsp--;


                    }
                    break;

            }

             after(grammarAccess.getPartAccess().getGroup_8()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Part__Group__8__Impl


    // $ANTLR start rule__Part__Group__9
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2031:1: rule__Part__Group__9 : rule__Part__Group__9__Impl ;
    public final void rule__Part__Group__9() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2035:1: ( rule__Part__Group__9__Impl )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2036:2: rule__Part__Group__9__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__Part__Group__9__Impl_in_rule__Part__Group__94077);
            rule__Part__Group__9__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Part__Group__9


    // $ANTLR start rule__Part__Group__9__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2042:1: rule__Part__Group__9__Impl : ( '}' ) ;
    public final void rule__Part__Group__9__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2046:1: ( ( '}' ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2047:1: ( '}' )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2047:1: ( '}' )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2048:1: '}'
            {
             before(grammarAccess.getPartAccess().getRightCurlyBracketKeyword_9()); 
            match(input,18,FollowSets000.FOLLOW_18_in_rule__Part__Group__9__Impl4105); 
             after(grammarAccess.getPartAccess().getRightCurlyBracketKeyword_9()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Part__Group__9__Impl


    // $ANTLR start rule__Part__Group_4__0
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2081:1: rule__Part__Group_4__0 : rule__Part__Group_4__0__Impl rule__Part__Group_4__1 ;
    public final void rule__Part__Group_4__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2085:1: ( rule__Part__Group_4__0__Impl rule__Part__Group_4__1 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2086:2: rule__Part__Group_4__0__Impl rule__Part__Group_4__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__Part__Group_4__0__Impl_in_rule__Part__Group_4__04156);
            rule__Part__Group_4__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Part__Group_4__1_in_rule__Part__Group_4__04159);
            rule__Part__Group_4__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Part__Group_4__0


    // $ANTLR start rule__Part__Group_4__0__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2093:1: rule__Part__Group_4__0__Impl : ( 'placement' ) ;
    public final void rule__Part__Group_4__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2097:1: ( ( 'placement' ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2098:1: ( 'placement' )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2098:1: ( 'placement' )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2099:1: 'placement'
            {
             before(grammarAccess.getPartAccess().getPlacementKeyword_4_0()); 
            match(input,26,FollowSets000.FOLLOW_26_in_rule__Part__Group_4__0__Impl4187); 
             after(grammarAccess.getPartAccess().getPlacementKeyword_4_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Part__Group_4__0__Impl


    // $ANTLR start rule__Part__Group_4__1
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2112:1: rule__Part__Group_4__1 : rule__Part__Group_4__1__Impl ;
    public final void rule__Part__Group_4__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2116:1: ( rule__Part__Group_4__1__Impl )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2117:2: rule__Part__Group_4__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__Part__Group_4__1__Impl_in_rule__Part__Group_4__14218);
            rule__Part__Group_4__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Part__Group_4__1


    // $ANTLR start rule__Part__Group_4__1__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2123:1: rule__Part__Group_4__1__Impl : ( ( rule__Part__PlacementAssignment_4_1 ) ) ;
    public final void rule__Part__Group_4__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2127:1: ( ( ( rule__Part__PlacementAssignment_4_1 ) ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2128:1: ( ( rule__Part__PlacementAssignment_4_1 ) )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2128:1: ( ( rule__Part__PlacementAssignment_4_1 ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2129:1: ( rule__Part__PlacementAssignment_4_1 )
            {
             before(grammarAccess.getPartAccess().getPlacementAssignment_4_1()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2130:1: ( rule__Part__PlacementAssignment_4_1 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2130:2: rule__Part__PlacementAssignment_4_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__Part__PlacementAssignment_4_1_in_rule__Part__Group_4__1__Impl4245);
            rule__Part__PlacementAssignment_4_1();
            _fsp--;


            }

             after(grammarAccess.getPartAccess().getPlacementAssignment_4_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Part__Group_4__1__Impl


    // $ANTLR start rule__Part__Group_5__0
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2144:1: rule__Part__Group_5__0 : rule__Part__Group_5__0__Impl rule__Part__Group_5__1 ;
    public final void rule__Part__Group_5__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2148:1: ( rule__Part__Group_5__0__Impl rule__Part__Group_5__1 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2149:2: rule__Part__Group_5__0__Impl rule__Part__Group_5__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__Part__Group_5__0__Impl_in_rule__Part__Group_5__04279);
            rule__Part__Group_5__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Part__Group_5__1_in_rule__Part__Group_5__04282);
            rule__Part__Group_5__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Part__Group_5__0


    // $ANTLR start rule__Part__Group_5__0__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2156:1: rule__Part__Group_5__0__Impl : ( 'board' ) ;
    public final void rule__Part__Group_5__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2160:1: ( ( 'board' ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2161:1: ( 'board' )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2161:1: ( 'board' )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2162:1: 'board'
            {
             before(grammarAccess.getPartAccess().getBoardKeyword_5_0()); 
            match(input,27,FollowSets000.FOLLOW_27_in_rule__Part__Group_5__0__Impl4310); 
             after(grammarAccess.getPartAccess().getBoardKeyword_5_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Part__Group_5__0__Impl


    // $ANTLR start rule__Part__Group_5__1
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2175:1: rule__Part__Group_5__1 : rule__Part__Group_5__1__Impl ;
    public final void rule__Part__Group_5__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2179:1: ( rule__Part__Group_5__1__Impl )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2180:2: rule__Part__Group_5__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__Part__Group_5__1__Impl_in_rule__Part__Group_5__14341);
            rule__Part__Group_5__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Part__Group_5__1


    // $ANTLR start rule__Part__Group_5__1__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2186:1: rule__Part__Group_5__1__Impl : ( ( rule__Part__BoardAssignment_5_1 ) ) ;
    public final void rule__Part__Group_5__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2190:1: ( ( ( rule__Part__BoardAssignment_5_1 ) ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2191:1: ( ( rule__Part__BoardAssignment_5_1 ) )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2191:1: ( ( rule__Part__BoardAssignment_5_1 ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2192:1: ( rule__Part__BoardAssignment_5_1 )
            {
             before(grammarAccess.getPartAccess().getBoardAssignment_5_1()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2193:1: ( rule__Part__BoardAssignment_5_1 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2193:2: rule__Part__BoardAssignment_5_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__Part__BoardAssignment_5_1_in_rule__Part__Group_5__1__Impl4368);
            rule__Part__BoardAssignment_5_1();
            _fsp--;


            }

             after(grammarAccess.getPartAccess().getBoardAssignment_5_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Part__Group_5__1__Impl


    // $ANTLR start rule__Part__Group_6__0
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2207:1: rule__Part__Group_6__0 : rule__Part__Group_6__0__Impl rule__Part__Group_6__1 ;
    public final void rule__Part__Group_6__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2211:1: ( rule__Part__Group_6__0__Impl rule__Part__Group_6__1 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2212:2: rule__Part__Group_6__0__Impl rule__Part__Group_6__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__Part__Group_6__0__Impl_in_rule__Part__Group_6__04402);
            rule__Part__Group_6__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Part__Group_6__1_in_rule__Part__Group_6__04405);
            rule__Part__Group_6__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Part__Group_6__0


    // $ANTLR start rule__Part__Group_6__0__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2219:1: rule__Part__Group_6__0__Impl : ( 'X' ) ;
    public final void rule__Part__Group_6__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2223:1: ( ( 'X' ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2224:1: ( 'X' )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2224:1: ( 'X' )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2225:1: 'X'
            {
             before(grammarAccess.getPartAccess().getXKeyword_6_0()); 
            match(input,28,FollowSets000.FOLLOW_28_in_rule__Part__Group_6__0__Impl4433); 
             after(grammarAccess.getPartAccess().getXKeyword_6_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Part__Group_6__0__Impl


    // $ANTLR start rule__Part__Group_6__1
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2238:1: rule__Part__Group_6__1 : rule__Part__Group_6__1__Impl ;
    public final void rule__Part__Group_6__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2242:1: ( rule__Part__Group_6__1__Impl )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2243:2: rule__Part__Group_6__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__Part__Group_6__1__Impl_in_rule__Part__Group_6__14464);
            rule__Part__Group_6__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Part__Group_6__1


    // $ANTLR start rule__Part__Group_6__1__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2249:1: rule__Part__Group_6__1__Impl : ( ( rule__Part__XAssignment_6_1 ) ) ;
    public final void rule__Part__Group_6__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2253:1: ( ( ( rule__Part__XAssignment_6_1 ) ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2254:1: ( ( rule__Part__XAssignment_6_1 ) )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2254:1: ( ( rule__Part__XAssignment_6_1 ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2255:1: ( rule__Part__XAssignment_6_1 )
            {
             before(grammarAccess.getPartAccess().getXAssignment_6_1()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2256:1: ( rule__Part__XAssignment_6_1 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2256:2: rule__Part__XAssignment_6_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__Part__XAssignment_6_1_in_rule__Part__Group_6__1__Impl4491);
            rule__Part__XAssignment_6_1();
            _fsp--;


            }

             after(grammarAccess.getPartAccess().getXAssignment_6_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Part__Group_6__1__Impl


    // $ANTLR start rule__Part__Group_7__0
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2270:1: rule__Part__Group_7__0 : rule__Part__Group_7__0__Impl rule__Part__Group_7__1 ;
    public final void rule__Part__Group_7__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2274:1: ( rule__Part__Group_7__0__Impl rule__Part__Group_7__1 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2275:2: rule__Part__Group_7__0__Impl rule__Part__Group_7__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__Part__Group_7__0__Impl_in_rule__Part__Group_7__04525);
            rule__Part__Group_7__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Part__Group_7__1_in_rule__Part__Group_7__04528);
            rule__Part__Group_7__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Part__Group_7__0


    // $ANTLR start rule__Part__Group_7__0__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2282:1: rule__Part__Group_7__0__Impl : ( 'Y' ) ;
    public final void rule__Part__Group_7__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2286:1: ( ( 'Y' ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2287:1: ( 'Y' )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2287:1: ( 'Y' )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2288:1: 'Y'
            {
             before(grammarAccess.getPartAccess().getYKeyword_7_0()); 
            match(input,29,FollowSets000.FOLLOW_29_in_rule__Part__Group_7__0__Impl4556); 
             after(grammarAccess.getPartAccess().getYKeyword_7_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Part__Group_7__0__Impl


    // $ANTLR start rule__Part__Group_7__1
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2301:1: rule__Part__Group_7__1 : rule__Part__Group_7__1__Impl ;
    public final void rule__Part__Group_7__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2305:1: ( rule__Part__Group_7__1__Impl )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2306:2: rule__Part__Group_7__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__Part__Group_7__1__Impl_in_rule__Part__Group_7__14587);
            rule__Part__Group_7__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Part__Group_7__1


    // $ANTLR start rule__Part__Group_7__1__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2312:1: rule__Part__Group_7__1__Impl : ( ( rule__Part__YAssignment_7_1 ) ) ;
    public final void rule__Part__Group_7__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2316:1: ( ( ( rule__Part__YAssignment_7_1 ) ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2317:1: ( ( rule__Part__YAssignment_7_1 ) )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2317:1: ( ( rule__Part__YAssignment_7_1 ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2318:1: ( rule__Part__YAssignment_7_1 )
            {
             before(grammarAccess.getPartAccess().getYAssignment_7_1()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2319:1: ( rule__Part__YAssignment_7_1 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2319:2: rule__Part__YAssignment_7_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__Part__YAssignment_7_1_in_rule__Part__Group_7__1__Impl4614);
            rule__Part__YAssignment_7_1();
            _fsp--;


            }

             after(grammarAccess.getPartAccess().getYAssignment_7_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Part__Group_7__1__Impl


    // $ANTLR start rule__Part__Group_8__0
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2333:1: rule__Part__Group_8__0 : rule__Part__Group_8__0__Impl rule__Part__Group_8__1 ;
    public final void rule__Part__Group_8__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2337:1: ( rule__Part__Group_8__0__Impl rule__Part__Group_8__1 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2338:2: rule__Part__Group_8__0__Impl rule__Part__Group_8__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__Part__Group_8__0__Impl_in_rule__Part__Group_8__04648);
            rule__Part__Group_8__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Part__Group_8__1_in_rule__Part__Group_8__04651);
            rule__Part__Group_8__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Part__Group_8__0


    // $ANTLR start rule__Part__Group_8__0__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2345:1: rule__Part__Group_8__0__Impl : ( 'Z' ) ;
    public final void rule__Part__Group_8__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2349:1: ( ( 'Z' ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2350:1: ( 'Z' )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2350:1: ( 'Z' )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2351:1: 'Z'
            {
             before(grammarAccess.getPartAccess().getZKeyword_8_0()); 
            match(input,30,FollowSets000.FOLLOW_30_in_rule__Part__Group_8__0__Impl4679); 
             after(grammarAccess.getPartAccess().getZKeyword_8_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Part__Group_8__0__Impl


    // $ANTLR start rule__Part__Group_8__1
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2364:1: rule__Part__Group_8__1 : rule__Part__Group_8__1__Impl ;
    public final void rule__Part__Group_8__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2368:1: ( rule__Part__Group_8__1__Impl )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2369:2: rule__Part__Group_8__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__Part__Group_8__1__Impl_in_rule__Part__Group_8__14710);
            rule__Part__Group_8__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Part__Group_8__1


    // $ANTLR start rule__Part__Group_8__1__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2375:1: rule__Part__Group_8__1__Impl : ( ( rule__Part__ZAssignment_8_1 ) ) ;
    public final void rule__Part__Group_8__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2379:1: ( ( ( rule__Part__ZAssignment_8_1 ) ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2380:1: ( ( rule__Part__ZAssignment_8_1 ) )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2380:1: ( ( rule__Part__ZAssignment_8_1 ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2381:1: ( rule__Part__ZAssignment_8_1 )
            {
             before(grammarAccess.getPartAccess().getZAssignment_8_1()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2382:1: ( rule__Part__ZAssignment_8_1 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2382:2: rule__Part__ZAssignment_8_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__Part__ZAssignment_8_1_in_rule__Part__Group_8__1__Impl4737);
            rule__Part__ZAssignment_8_1();
            _fsp--;


            }

             after(grammarAccess.getPartAccess().getZAssignment_8_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Part__Group_8__1__Impl


    // $ANTLR start rule__Literal__Group__0
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2396:1: rule__Literal__Group__0 : rule__Literal__Group__0__Impl rule__Literal__Group__1 ;
    public final void rule__Literal__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2400:1: ( rule__Literal__Group__0__Impl rule__Literal__Group__1 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2401:2: rule__Literal__Group__0__Impl rule__Literal__Group__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__Literal__Group__0__Impl_in_rule__Literal__Group__04771);
            rule__Literal__Group__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Literal__Group__1_in_rule__Literal__Group__04774);
            rule__Literal__Group__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Literal__Group__0


    // $ANTLR start rule__Literal__Group__0__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2408:1: rule__Literal__Group__0__Impl : ( () ) ;
    public final void rule__Literal__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2412:1: ( ( () ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2413:1: ( () )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2413:1: ( () )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2414:1: ()
            {
             before(grammarAccess.getLiteralAccess().getLiteralAction_0()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2415:1: ()
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2417:1: 
            {
            }

             after(grammarAccess.getLiteralAccess().getLiteralAction_0()); 

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Literal__Group__0__Impl


    // $ANTLR start rule__Literal__Group__1
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2427:1: rule__Literal__Group__1 : rule__Literal__Group__1__Impl rule__Literal__Group__2 ;
    public final void rule__Literal__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2431:1: ( rule__Literal__Group__1__Impl rule__Literal__Group__2 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2432:2: rule__Literal__Group__1__Impl rule__Literal__Group__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__Literal__Group__1__Impl_in_rule__Literal__Group__14832);
            rule__Literal__Group__1__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Literal__Group__2_in_rule__Literal__Group__14835);
            rule__Literal__Group__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Literal__Group__1


    // $ANTLR start rule__Literal__Group__1__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2439:1: rule__Literal__Group__1__Impl : ( 'Literal' ) ;
    public final void rule__Literal__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2443:1: ( ( 'Literal' ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2444:1: ( 'Literal' )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2444:1: ( 'Literal' )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2445:1: 'Literal'
            {
             before(grammarAccess.getLiteralAccess().getLiteralKeyword_1()); 
            match(input,31,FollowSets000.FOLLOW_31_in_rule__Literal__Group__1__Impl4863); 
             after(grammarAccess.getLiteralAccess().getLiteralKeyword_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Literal__Group__1__Impl


    // $ANTLR start rule__Literal__Group__2
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2458:1: rule__Literal__Group__2 : rule__Literal__Group__2__Impl rule__Literal__Group__3 ;
    public final void rule__Literal__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2462:1: ( rule__Literal__Group__2__Impl rule__Literal__Group__3 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2463:2: rule__Literal__Group__2__Impl rule__Literal__Group__3
            {
            pushFollow(FollowSets000.FOLLOW_rule__Literal__Group__2__Impl_in_rule__Literal__Group__24894);
            rule__Literal__Group__2__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Literal__Group__3_in_rule__Literal__Group__24897);
            rule__Literal__Group__3();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Literal__Group__2


    // $ANTLR start rule__Literal__Group__2__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2470:1: rule__Literal__Group__2__Impl : ( '{' ) ;
    public final void rule__Literal__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2474:1: ( ( '{' ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2475:1: ( '{' )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2475:1: ( '{' )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2476:1: '{'
            {
             before(grammarAccess.getLiteralAccess().getLeftCurlyBracketKeyword_2()); 
            match(input,17,FollowSets000.FOLLOW_17_in_rule__Literal__Group__2__Impl4925); 
             after(grammarAccess.getLiteralAccess().getLeftCurlyBracketKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Literal__Group__2__Impl


    // $ANTLR start rule__Literal__Group__3
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2489:1: rule__Literal__Group__3 : rule__Literal__Group__3__Impl rule__Literal__Group__4 ;
    public final void rule__Literal__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2493:1: ( rule__Literal__Group__3__Impl rule__Literal__Group__4 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2494:2: rule__Literal__Group__3__Impl rule__Literal__Group__4
            {
            pushFollow(FollowSets000.FOLLOW_rule__Literal__Group__3__Impl_in_rule__Literal__Group__34956);
            rule__Literal__Group__3__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Literal__Group__4_in_rule__Literal__Group__34959);
            rule__Literal__Group__4();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Literal__Group__3


    // $ANTLR start rule__Literal__Group__3__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2501:1: rule__Literal__Group__3__Impl : ( ( rule__Literal__Group_3__0 )? ) ;
    public final void rule__Literal__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2505:1: ( ( ( rule__Literal__Group_3__0 )? ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2506:1: ( ( rule__Literal__Group_3__0 )? )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2506:1: ( ( rule__Literal__Group_3__0 )? )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2507:1: ( rule__Literal__Group_3__0 )?
            {
             before(grammarAccess.getLiteralAccess().getGroup_3()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2508:1: ( rule__Literal__Group_3__0 )?
            int alt18=2;
            int LA18_0 = input.LA(1);

            if ( (LA18_0==24) ) {
                alt18=1;
            }
            switch (alt18) {
                case 1 :
                    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2508:2: rule__Literal__Group_3__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__Literal__Group_3__0_in_rule__Literal__Group__3__Impl4986);
                    rule__Literal__Group_3__0();
                    _fsp--;


                    }
                    break;

            }

             after(grammarAccess.getLiteralAccess().getGroup_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Literal__Group__3__Impl


    // $ANTLR start rule__Literal__Group__4
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2518:1: rule__Literal__Group__4 : rule__Literal__Group__4__Impl ;
    public final void rule__Literal__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2522:1: ( rule__Literal__Group__4__Impl )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2523:2: rule__Literal__Group__4__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__Literal__Group__4__Impl_in_rule__Literal__Group__45017);
            rule__Literal__Group__4__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Literal__Group__4


    // $ANTLR start rule__Literal__Group__4__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2529:1: rule__Literal__Group__4__Impl : ( '}' ) ;
    public final void rule__Literal__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2533:1: ( ( '}' ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2534:1: ( '}' )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2534:1: ( '}' )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2535:1: '}'
            {
             before(grammarAccess.getLiteralAccess().getRightCurlyBracketKeyword_4()); 
            match(input,18,FollowSets000.FOLLOW_18_in_rule__Literal__Group__4__Impl5045); 
             after(grammarAccess.getLiteralAccess().getRightCurlyBracketKeyword_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Literal__Group__4__Impl


    // $ANTLR start rule__Literal__Group_3__0
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2558:1: rule__Literal__Group_3__0 : rule__Literal__Group_3__0__Impl rule__Literal__Group_3__1 ;
    public final void rule__Literal__Group_3__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2562:1: ( rule__Literal__Group_3__0__Impl rule__Literal__Group_3__1 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2563:2: rule__Literal__Group_3__0__Impl rule__Literal__Group_3__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__Literal__Group_3__0__Impl_in_rule__Literal__Group_3__05086);
            rule__Literal__Group_3__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Literal__Group_3__1_in_rule__Literal__Group_3__05089);
            rule__Literal__Group_3__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Literal__Group_3__0


    // $ANTLR start rule__Literal__Group_3__0__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2570:1: rule__Literal__Group_3__0__Impl : ( 'value' ) ;
    public final void rule__Literal__Group_3__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2574:1: ( ( 'value' ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2575:1: ( 'value' )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2575:1: ( 'value' )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2576:1: 'value'
            {
             before(grammarAccess.getLiteralAccess().getValueKeyword_3_0()); 
            match(input,24,FollowSets000.FOLLOW_24_in_rule__Literal__Group_3__0__Impl5117); 
             after(grammarAccess.getLiteralAccess().getValueKeyword_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Literal__Group_3__0__Impl


    // $ANTLR start rule__Literal__Group_3__1
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2589:1: rule__Literal__Group_3__1 : rule__Literal__Group_3__1__Impl ;
    public final void rule__Literal__Group_3__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2593:1: ( rule__Literal__Group_3__1__Impl )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2594:2: rule__Literal__Group_3__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__Literal__Group_3__1__Impl_in_rule__Literal__Group_3__15148);
            rule__Literal__Group_3__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Literal__Group_3__1


    // $ANTLR start rule__Literal__Group_3__1__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2600:1: rule__Literal__Group_3__1__Impl : ( ( rule__Literal__ValueAssignment_3_1 ) ) ;
    public final void rule__Literal__Group_3__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2604:1: ( ( ( rule__Literal__ValueAssignment_3_1 ) ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2605:1: ( ( rule__Literal__ValueAssignment_3_1 ) )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2605:1: ( ( rule__Literal__ValueAssignment_3_1 ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2606:1: ( rule__Literal__ValueAssignment_3_1 )
            {
             before(grammarAccess.getLiteralAccess().getValueAssignment_3_1()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2607:1: ( rule__Literal__ValueAssignment_3_1 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2607:2: rule__Literal__ValueAssignment_3_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__Literal__ValueAssignment_3_1_in_rule__Literal__Group_3__1__Impl5175);
            rule__Literal__ValueAssignment_3_1();
            _fsp--;


            }

             after(grammarAccess.getLiteralAccess().getValueAssignment_3_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Literal__Group_3__1__Impl


    // $ANTLR start rule__ValueRef__Group__0
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2621:1: rule__ValueRef__Group__0 : rule__ValueRef__Group__0__Impl rule__ValueRef__Group__1 ;
    public final void rule__ValueRef__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2625:1: ( rule__ValueRef__Group__0__Impl rule__ValueRef__Group__1 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2626:2: rule__ValueRef__Group__0__Impl rule__ValueRef__Group__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__ValueRef__Group__0__Impl_in_rule__ValueRef__Group__05209);
            rule__ValueRef__Group__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__ValueRef__Group__1_in_rule__ValueRef__Group__05212);
            rule__ValueRef__Group__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ValueRef__Group__0


    // $ANTLR start rule__ValueRef__Group__0__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2633:1: rule__ValueRef__Group__0__Impl : ( () ) ;
    public final void rule__ValueRef__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2637:1: ( ( () ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2638:1: ( () )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2638:1: ( () )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2639:1: ()
            {
             before(grammarAccess.getValueRefAccess().getValueRefAction_0()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2640:1: ()
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2642:1: 
            {
            }

             after(grammarAccess.getValueRefAccess().getValueRefAction_0()); 

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ValueRef__Group__0__Impl


    // $ANTLR start rule__ValueRef__Group__1
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2652:1: rule__ValueRef__Group__1 : rule__ValueRef__Group__1__Impl rule__ValueRef__Group__2 ;
    public final void rule__ValueRef__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2656:1: ( rule__ValueRef__Group__1__Impl rule__ValueRef__Group__2 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2657:2: rule__ValueRef__Group__1__Impl rule__ValueRef__Group__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__ValueRef__Group__1__Impl_in_rule__ValueRef__Group__15270);
            rule__ValueRef__Group__1__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__ValueRef__Group__2_in_rule__ValueRef__Group__15273);
            rule__ValueRef__Group__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ValueRef__Group__1


    // $ANTLR start rule__ValueRef__Group__1__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2664:1: rule__ValueRef__Group__1__Impl : ( 'ValueRef' ) ;
    public final void rule__ValueRef__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2668:1: ( ( 'ValueRef' ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2669:1: ( 'ValueRef' )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2669:1: ( 'ValueRef' )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2670:1: 'ValueRef'
            {
             before(grammarAccess.getValueRefAccess().getValueRefKeyword_1()); 
            match(input,32,FollowSets000.FOLLOW_32_in_rule__ValueRef__Group__1__Impl5301); 
             after(grammarAccess.getValueRefAccess().getValueRefKeyword_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ValueRef__Group__1__Impl


    // $ANTLR start rule__ValueRef__Group__2
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2683:1: rule__ValueRef__Group__2 : rule__ValueRef__Group__2__Impl rule__ValueRef__Group__3 ;
    public final void rule__ValueRef__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2687:1: ( rule__ValueRef__Group__2__Impl rule__ValueRef__Group__3 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2688:2: rule__ValueRef__Group__2__Impl rule__ValueRef__Group__3
            {
            pushFollow(FollowSets000.FOLLOW_rule__ValueRef__Group__2__Impl_in_rule__ValueRef__Group__25332);
            rule__ValueRef__Group__2__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__ValueRef__Group__3_in_rule__ValueRef__Group__25335);
            rule__ValueRef__Group__3();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ValueRef__Group__2


    // $ANTLR start rule__ValueRef__Group__2__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2695:1: rule__ValueRef__Group__2__Impl : ( '{' ) ;
    public final void rule__ValueRef__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2699:1: ( ( '{' ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2700:1: ( '{' )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2700:1: ( '{' )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2701:1: '{'
            {
             before(grammarAccess.getValueRefAccess().getLeftCurlyBracketKeyword_2()); 
            match(input,17,FollowSets000.FOLLOW_17_in_rule__ValueRef__Group__2__Impl5363); 
             after(grammarAccess.getValueRefAccess().getLeftCurlyBracketKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ValueRef__Group__2__Impl


    // $ANTLR start rule__ValueRef__Group__3
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2714:1: rule__ValueRef__Group__3 : rule__ValueRef__Group__3__Impl rule__ValueRef__Group__4 ;
    public final void rule__ValueRef__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2718:1: ( rule__ValueRef__Group__3__Impl rule__ValueRef__Group__4 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2719:2: rule__ValueRef__Group__3__Impl rule__ValueRef__Group__4
            {
            pushFollow(FollowSets000.FOLLOW_rule__ValueRef__Group__3__Impl_in_rule__ValueRef__Group__35394);
            rule__ValueRef__Group__3__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__ValueRef__Group__4_in_rule__ValueRef__Group__35397);
            rule__ValueRef__Group__4();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ValueRef__Group__3


    // $ANTLR start rule__ValueRef__Group__3__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2726:1: rule__ValueRef__Group__3__Impl : ( ( rule__ValueRef__Group_3__0 )? ) ;
    public final void rule__ValueRef__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2730:1: ( ( ( rule__ValueRef__Group_3__0 )? ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2731:1: ( ( rule__ValueRef__Group_3__0 )? )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2731:1: ( ( rule__ValueRef__Group_3__0 )? )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2732:1: ( rule__ValueRef__Group_3__0 )?
            {
             before(grammarAccess.getValueRefAccess().getGroup_3()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2733:1: ( rule__ValueRef__Group_3__0 )?
            int alt19=2;
            int LA19_0 = input.LA(1);

            if ( (LA19_0==33) ) {
                alt19=1;
            }
            switch (alt19) {
                case 1 :
                    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2733:2: rule__ValueRef__Group_3__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__ValueRef__Group_3__0_in_rule__ValueRef__Group__3__Impl5424);
                    rule__ValueRef__Group_3__0();
                    _fsp--;


                    }
                    break;

            }

             after(grammarAccess.getValueRefAccess().getGroup_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ValueRef__Group__3__Impl


    // $ANTLR start rule__ValueRef__Group__4
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2743:1: rule__ValueRef__Group__4 : rule__ValueRef__Group__4__Impl ;
    public final void rule__ValueRef__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2747:1: ( rule__ValueRef__Group__4__Impl )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2748:2: rule__ValueRef__Group__4__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__ValueRef__Group__4__Impl_in_rule__ValueRef__Group__45455);
            rule__ValueRef__Group__4__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ValueRef__Group__4


    // $ANTLR start rule__ValueRef__Group__4__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2754:1: rule__ValueRef__Group__4__Impl : ( '}' ) ;
    public final void rule__ValueRef__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2758:1: ( ( '}' ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2759:1: ( '}' )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2759:1: ( '}' )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2760:1: '}'
            {
             before(grammarAccess.getValueRefAccess().getRightCurlyBracketKeyword_4()); 
            match(input,18,FollowSets000.FOLLOW_18_in_rule__ValueRef__Group__4__Impl5483); 
             after(grammarAccess.getValueRefAccess().getRightCurlyBracketKeyword_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ValueRef__Group__4__Impl


    // $ANTLR start rule__ValueRef__Group_3__0
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2783:1: rule__ValueRef__Group_3__0 : rule__ValueRef__Group_3__0__Impl rule__ValueRef__Group_3__1 ;
    public final void rule__ValueRef__Group_3__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2787:1: ( rule__ValueRef__Group_3__0__Impl rule__ValueRef__Group_3__1 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2788:2: rule__ValueRef__Group_3__0__Impl rule__ValueRef__Group_3__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__ValueRef__Group_3__0__Impl_in_rule__ValueRef__Group_3__05524);
            rule__ValueRef__Group_3__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__ValueRef__Group_3__1_in_rule__ValueRef__Group_3__05527);
            rule__ValueRef__Group_3__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ValueRef__Group_3__0


    // $ANTLR start rule__ValueRef__Group_3__0__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2795:1: rule__ValueRef__Group_3__0__Impl : ( 'ref' ) ;
    public final void rule__ValueRef__Group_3__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2799:1: ( ( 'ref' ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2800:1: ( 'ref' )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2800:1: ( 'ref' )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2801:1: 'ref'
            {
             before(grammarAccess.getValueRefAccess().getRefKeyword_3_0()); 
            match(input,33,FollowSets000.FOLLOW_33_in_rule__ValueRef__Group_3__0__Impl5555); 
             after(grammarAccess.getValueRefAccess().getRefKeyword_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ValueRef__Group_3__0__Impl


    // $ANTLR start rule__ValueRef__Group_3__1
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2814:1: rule__ValueRef__Group_3__1 : rule__ValueRef__Group_3__1__Impl ;
    public final void rule__ValueRef__Group_3__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2818:1: ( rule__ValueRef__Group_3__1__Impl )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2819:2: rule__ValueRef__Group_3__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__ValueRef__Group_3__1__Impl_in_rule__ValueRef__Group_3__15586);
            rule__ValueRef__Group_3__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ValueRef__Group_3__1


    // $ANTLR start rule__ValueRef__Group_3__1__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2825:1: rule__ValueRef__Group_3__1__Impl : ( ( rule__ValueRef__RefAssignment_3_1 ) ) ;
    public final void rule__ValueRef__Group_3__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2829:1: ( ( ( rule__ValueRef__RefAssignment_3_1 ) ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2830:1: ( ( rule__ValueRef__RefAssignment_3_1 ) )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2830:1: ( ( rule__ValueRef__RefAssignment_3_1 ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2831:1: ( rule__ValueRef__RefAssignment_3_1 )
            {
             before(grammarAccess.getValueRefAccess().getRefAssignment_3_1()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2832:1: ( rule__ValueRef__RefAssignment_3_1 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2832:2: rule__ValueRef__RefAssignment_3_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__ValueRef__RefAssignment_3_1_in_rule__ValueRef__Group_3__1__Impl5613);
            rule__ValueRef__RefAssignment_3_1();
            _fsp--;


            }

             after(grammarAccess.getValueRefAccess().getRefAssignment_3_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ValueRef__Group_3__1__Impl


    // $ANTLR start rule__Addition__Group__0
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2846:1: rule__Addition__Group__0 : rule__Addition__Group__0__Impl rule__Addition__Group__1 ;
    public final void rule__Addition__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2850:1: ( rule__Addition__Group__0__Impl rule__Addition__Group__1 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2851:2: rule__Addition__Group__0__Impl rule__Addition__Group__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__Addition__Group__0__Impl_in_rule__Addition__Group__05647);
            rule__Addition__Group__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Addition__Group__1_in_rule__Addition__Group__05650);
            rule__Addition__Group__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Addition__Group__0


    // $ANTLR start rule__Addition__Group__0__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2858:1: rule__Addition__Group__0__Impl : ( () ) ;
    public final void rule__Addition__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2862:1: ( ( () ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2863:1: ( () )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2863:1: ( () )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2864:1: ()
            {
             before(grammarAccess.getAdditionAccess().getAdditionAction_0()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2865:1: ()
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2867:1: 
            {
            }

             after(grammarAccess.getAdditionAccess().getAdditionAction_0()); 

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Addition__Group__0__Impl


    // $ANTLR start rule__Addition__Group__1
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2877:1: rule__Addition__Group__1 : rule__Addition__Group__1__Impl rule__Addition__Group__2 ;
    public final void rule__Addition__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2881:1: ( rule__Addition__Group__1__Impl rule__Addition__Group__2 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2882:2: rule__Addition__Group__1__Impl rule__Addition__Group__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__Addition__Group__1__Impl_in_rule__Addition__Group__15708);
            rule__Addition__Group__1__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Addition__Group__2_in_rule__Addition__Group__15711);
            rule__Addition__Group__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Addition__Group__1


    // $ANTLR start rule__Addition__Group__1__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2889:1: rule__Addition__Group__1__Impl : ( 'Addition' ) ;
    public final void rule__Addition__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2893:1: ( ( 'Addition' ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2894:1: ( 'Addition' )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2894:1: ( 'Addition' )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2895:1: 'Addition'
            {
             before(grammarAccess.getAdditionAccess().getAdditionKeyword_1()); 
            match(input,34,FollowSets000.FOLLOW_34_in_rule__Addition__Group__1__Impl5739); 
             after(grammarAccess.getAdditionAccess().getAdditionKeyword_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Addition__Group__1__Impl


    // $ANTLR start rule__Addition__Group__2
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2908:1: rule__Addition__Group__2 : rule__Addition__Group__2__Impl rule__Addition__Group__3 ;
    public final void rule__Addition__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2912:1: ( rule__Addition__Group__2__Impl rule__Addition__Group__3 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2913:2: rule__Addition__Group__2__Impl rule__Addition__Group__3
            {
            pushFollow(FollowSets000.FOLLOW_rule__Addition__Group__2__Impl_in_rule__Addition__Group__25770);
            rule__Addition__Group__2__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Addition__Group__3_in_rule__Addition__Group__25773);
            rule__Addition__Group__3();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Addition__Group__2


    // $ANTLR start rule__Addition__Group__2__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2920:1: rule__Addition__Group__2__Impl : ( '{' ) ;
    public final void rule__Addition__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2924:1: ( ( '{' ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2925:1: ( '{' )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2925:1: ( '{' )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2926:1: '{'
            {
             before(grammarAccess.getAdditionAccess().getLeftCurlyBracketKeyword_2()); 
            match(input,17,FollowSets000.FOLLOW_17_in_rule__Addition__Group__2__Impl5801); 
             after(grammarAccess.getAdditionAccess().getLeftCurlyBracketKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Addition__Group__2__Impl


    // $ANTLR start rule__Addition__Group__3
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2939:1: rule__Addition__Group__3 : rule__Addition__Group__3__Impl rule__Addition__Group__4 ;
    public final void rule__Addition__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2943:1: ( rule__Addition__Group__3__Impl rule__Addition__Group__4 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2944:2: rule__Addition__Group__3__Impl rule__Addition__Group__4
            {
            pushFollow(FollowSets000.FOLLOW_rule__Addition__Group__3__Impl_in_rule__Addition__Group__35832);
            rule__Addition__Group__3__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Addition__Group__4_in_rule__Addition__Group__35835);
            rule__Addition__Group__4();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Addition__Group__3


    // $ANTLR start rule__Addition__Group__3__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2951:1: rule__Addition__Group__3__Impl : ( ( rule__Addition__Group_3__0 )? ) ;
    public final void rule__Addition__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2955:1: ( ( ( rule__Addition__Group_3__0 )? ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2956:1: ( ( rule__Addition__Group_3__0 )? )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2956:1: ( ( rule__Addition__Group_3__0 )? )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2957:1: ( rule__Addition__Group_3__0 )?
            {
             before(grammarAccess.getAdditionAccess().getGroup_3()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2958:1: ( rule__Addition__Group_3__0 )?
            int alt20=2;
            int LA20_0 = input.LA(1);

            if ( (LA20_0==35) ) {
                alt20=1;
            }
            switch (alt20) {
                case 1 :
                    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2958:2: rule__Addition__Group_3__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__Addition__Group_3__0_in_rule__Addition__Group__3__Impl5862);
                    rule__Addition__Group_3__0();
                    _fsp--;


                    }
                    break;

            }

             after(grammarAccess.getAdditionAccess().getGroup_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Addition__Group__3__Impl


    // $ANTLR start rule__Addition__Group__4
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2968:1: rule__Addition__Group__4 : rule__Addition__Group__4__Impl ;
    public final void rule__Addition__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2972:1: ( rule__Addition__Group__4__Impl )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2973:2: rule__Addition__Group__4__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__Addition__Group__4__Impl_in_rule__Addition__Group__45893);
            rule__Addition__Group__4__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Addition__Group__4


    // $ANTLR start rule__Addition__Group__4__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2979:1: rule__Addition__Group__4__Impl : ( '}' ) ;
    public final void rule__Addition__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2983:1: ( ( '}' ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2984:1: ( '}' )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2984:1: ( '}' )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:2985:1: '}'
            {
             before(grammarAccess.getAdditionAccess().getRightCurlyBracketKeyword_4()); 
            match(input,18,FollowSets000.FOLLOW_18_in_rule__Addition__Group__4__Impl5921); 
             after(grammarAccess.getAdditionAccess().getRightCurlyBracketKeyword_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Addition__Group__4__Impl


    // $ANTLR start rule__Addition__Group_3__0
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3008:1: rule__Addition__Group_3__0 : rule__Addition__Group_3__0__Impl rule__Addition__Group_3__1 ;
    public final void rule__Addition__Group_3__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3012:1: ( rule__Addition__Group_3__0__Impl rule__Addition__Group_3__1 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3013:2: rule__Addition__Group_3__0__Impl rule__Addition__Group_3__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__Addition__Group_3__0__Impl_in_rule__Addition__Group_3__05962);
            rule__Addition__Group_3__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Addition__Group_3__1_in_rule__Addition__Group_3__05965);
            rule__Addition__Group_3__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Addition__Group_3__0


    // $ANTLR start rule__Addition__Group_3__0__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3020:1: rule__Addition__Group_3__0__Impl : ( 'values' ) ;
    public final void rule__Addition__Group_3__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3024:1: ( ( 'values' ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3025:1: ( 'values' )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3025:1: ( 'values' )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3026:1: 'values'
            {
             before(grammarAccess.getAdditionAccess().getValuesKeyword_3_0()); 
            match(input,35,FollowSets000.FOLLOW_35_in_rule__Addition__Group_3__0__Impl5993); 
             after(grammarAccess.getAdditionAccess().getValuesKeyword_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Addition__Group_3__0__Impl


    // $ANTLR start rule__Addition__Group_3__1
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3039:1: rule__Addition__Group_3__1 : rule__Addition__Group_3__1__Impl rule__Addition__Group_3__2 ;
    public final void rule__Addition__Group_3__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3043:1: ( rule__Addition__Group_3__1__Impl rule__Addition__Group_3__2 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3044:2: rule__Addition__Group_3__1__Impl rule__Addition__Group_3__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__Addition__Group_3__1__Impl_in_rule__Addition__Group_3__16024);
            rule__Addition__Group_3__1__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Addition__Group_3__2_in_rule__Addition__Group_3__16027);
            rule__Addition__Group_3__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Addition__Group_3__1


    // $ANTLR start rule__Addition__Group_3__1__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3051:1: rule__Addition__Group_3__1__Impl : ( '{' ) ;
    public final void rule__Addition__Group_3__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3055:1: ( ( '{' ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3056:1: ( '{' )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3056:1: ( '{' )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3057:1: '{'
            {
             before(grammarAccess.getAdditionAccess().getLeftCurlyBracketKeyword_3_1()); 
            match(input,17,FollowSets000.FOLLOW_17_in_rule__Addition__Group_3__1__Impl6055); 
             after(grammarAccess.getAdditionAccess().getLeftCurlyBracketKeyword_3_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Addition__Group_3__1__Impl


    // $ANTLR start rule__Addition__Group_3__2
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3070:1: rule__Addition__Group_3__2 : rule__Addition__Group_3__2__Impl rule__Addition__Group_3__3 ;
    public final void rule__Addition__Group_3__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3074:1: ( rule__Addition__Group_3__2__Impl rule__Addition__Group_3__3 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3075:2: rule__Addition__Group_3__2__Impl rule__Addition__Group_3__3
            {
            pushFollow(FollowSets000.FOLLOW_rule__Addition__Group_3__2__Impl_in_rule__Addition__Group_3__26086);
            rule__Addition__Group_3__2__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Addition__Group_3__3_in_rule__Addition__Group_3__26089);
            rule__Addition__Group_3__3();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Addition__Group_3__2


    // $ANTLR start rule__Addition__Group_3__2__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3082:1: rule__Addition__Group_3__2__Impl : ( ( rule__Addition__ValuesAssignment_3_2 ) ) ;
    public final void rule__Addition__Group_3__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3086:1: ( ( ( rule__Addition__ValuesAssignment_3_2 ) ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3087:1: ( ( rule__Addition__ValuesAssignment_3_2 ) )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3087:1: ( ( rule__Addition__ValuesAssignment_3_2 ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3088:1: ( rule__Addition__ValuesAssignment_3_2 )
            {
             before(grammarAccess.getAdditionAccess().getValuesAssignment_3_2()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3089:1: ( rule__Addition__ValuesAssignment_3_2 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3089:2: rule__Addition__ValuesAssignment_3_2
            {
            pushFollow(FollowSets000.FOLLOW_rule__Addition__ValuesAssignment_3_2_in_rule__Addition__Group_3__2__Impl6116);
            rule__Addition__ValuesAssignment_3_2();
            _fsp--;


            }

             after(grammarAccess.getAdditionAccess().getValuesAssignment_3_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Addition__Group_3__2__Impl


    // $ANTLR start rule__Addition__Group_3__3
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3099:1: rule__Addition__Group_3__3 : rule__Addition__Group_3__3__Impl rule__Addition__Group_3__4 ;
    public final void rule__Addition__Group_3__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3103:1: ( rule__Addition__Group_3__3__Impl rule__Addition__Group_3__4 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3104:2: rule__Addition__Group_3__3__Impl rule__Addition__Group_3__4
            {
            pushFollow(FollowSets000.FOLLOW_rule__Addition__Group_3__3__Impl_in_rule__Addition__Group_3__36146);
            rule__Addition__Group_3__3__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Addition__Group_3__4_in_rule__Addition__Group_3__36149);
            rule__Addition__Group_3__4();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Addition__Group_3__3


    // $ANTLR start rule__Addition__Group_3__3__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3111:1: rule__Addition__Group_3__3__Impl : ( ( rule__Addition__Group_3_3__0 )* ) ;
    public final void rule__Addition__Group_3__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3115:1: ( ( ( rule__Addition__Group_3_3__0 )* ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3116:1: ( ( rule__Addition__Group_3_3__0 )* )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3116:1: ( ( rule__Addition__Group_3_3__0 )* )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3117:1: ( rule__Addition__Group_3_3__0 )*
            {
             before(grammarAccess.getAdditionAccess().getGroup_3_3()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3118:1: ( rule__Addition__Group_3_3__0 )*
            loop21:
            do {
                int alt21=2;
                int LA21_0 = input.LA(1);

                if ( (LA21_0==20) ) {
                    alt21=1;
                }


                switch (alt21) {
            	case 1 :
            	    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3118:2: rule__Addition__Group_3_3__0
            	    {
            	    pushFollow(FollowSets000.FOLLOW_rule__Addition__Group_3_3__0_in_rule__Addition__Group_3__3__Impl6176);
            	    rule__Addition__Group_3_3__0();
            	    _fsp--;


            	    }
            	    break;

            	default :
            	    break loop21;
                }
            } while (true);

             after(grammarAccess.getAdditionAccess().getGroup_3_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Addition__Group_3__3__Impl


    // $ANTLR start rule__Addition__Group_3__4
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3128:1: rule__Addition__Group_3__4 : rule__Addition__Group_3__4__Impl ;
    public final void rule__Addition__Group_3__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3132:1: ( rule__Addition__Group_3__4__Impl )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3133:2: rule__Addition__Group_3__4__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__Addition__Group_3__4__Impl_in_rule__Addition__Group_3__46207);
            rule__Addition__Group_3__4__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Addition__Group_3__4


    // $ANTLR start rule__Addition__Group_3__4__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3139:1: rule__Addition__Group_3__4__Impl : ( '}' ) ;
    public final void rule__Addition__Group_3__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3143:1: ( ( '}' ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3144:1: ( '}' )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3144:1: ( '}' )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3145:1: '}'
            {
             before(grammarAccess.getAdditionAccess().getRightCurlyBracketKeyword_3_4()); 
            match(input,18,FollowSets000.FOLLOW_18_in_rule__Addition__Group_3__4__Impl6235); 
             after(grammarAccess.getAdditionAccess().getRightCurlyBracketKeyword_3_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Addition__Group_3__4__Impl


    // $ANTLR start rule__Addition__Group_3_3__0
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3168:1: rule__Addition__Group_3_3__0 : rule__Addition__Group_3_3__0__Impl rule__Addition__Group_3_3__1 ;
    public final void rule__Addition__Group_3_3__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3172:1: ( rule__Addition__Group_3_3__0__Impl rule__Addition__Group_3_3__1 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3173:2: rule__Addition__Group_3_3__0__Impl rule__Addition__Group_3_3__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__Addition__Group_3_3__0__Impl_in_rule__Addition__Group_3_3__06276);
            rule__Addition__Group_3_3__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Addition__Group_3_3__1_in_rule__Addition__Group_3_3__06279);
            rule__Addition__Group_3_3__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Addition__Group_3_3__0


    // $ANTLR start rule__Addition__Group_3_3__0__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3180:1: rule__Addition__Group_3_3__0__Impl : ( ',' ) ;
    public final void rule__Addition__Group_3_3__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3184:1: ( ( ',' ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3185:1: ( ',' )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3185:1: ( ',' )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3186:1: ','
            {
             before(grammarAccess.getAdditionAccess().getCommaKeyword_3_3_0()); 
            match(input,20,FollowSets000.FOLLOW_20_in_rule__Addition__Group_3_3__0__Impl6307); 
             after(grammarAccess.getAdditionAccess().getCommaKeyword_3_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Addition__Group_3_3__0__Impl


    // $ANTLR start rule__Addition__Group_3_3__1
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3199:1: rule__Addition__Group_3_3__1 : rule__Addition__Group_3_3__1__Impl ;
    public final void rule__Addition__Group_3_3__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3203:1: ( rule__Addition__Group_3_3__1__Impl )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3204:2: rule__Addition__Group_3_3__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__Addition__Group_3_3__1__Impl_in_rule__Addition__Group_3_3__16338);
            rule__Addition__Group_3_3__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Addition__Group_3_3__1


    // $ANTLR start rule__Addition__Group_3_3__1__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3210:1: rule__Addition__Group_3_3__1__Impl : ( ( rule__Addition__ValuesAssignment_3_3_1 ) ) ;
    public final void rule__Addition__Group_3_3__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3214:1: ( ( ( rule__Addition__ValuesAssignment_3_3_1 ) ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3215:1: ( ( rule__Addition__ValuesAssignment_3_3_1 ) )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3215:1: ( ( rule__Addition__ValuesAssignment_3_3_1 ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3216:1: ( rule__Addition__ValuesAssignment_3_3_1 )
            {
             before(grammarAccess.getAdditionAccess().getValuesAssignment_3_3_1()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3217:1: ( rule__Addition__ValuesAssignment_3_3_1 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3217:2: rule__Addition__ValuesAssignment_3_3_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__Addition__ValuesAssignment_3_3_1_in_rule__Addition__Group_3_3__1__Impl6365);
            rule__Addition__ValuesAssignment_3_3_1();
            _fsp--;


            }

             after(grammarAccess.getAdditionAccess().getValuesAssignment_3_3_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Addition__Group_3_3__1__Impl


    // $ANTLR start rule__Multiplication__Group__0
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3231:1: rule__Multiplication__Group__0 : rule__Multiplication__Group__0__Impl rule__Multiplication__Group__1 ;
    public final void rule__Multiplication__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3235:1: ( rule__Multiplication__Group__0__Impl rule__Multiplication__Group__1 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3236:2: rule__Multiplication__Group__0__Impl rule__Multiplication__Group__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__Multiplication__Group__0__Impl_in_rule__Multiplication__Group__06399);
            rule__Multiplication__Group__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Multiplication__Group__1_in_rule__Multiplication__Group__06402);
            rule__Multiplication__Group__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Multiplication__Group__0


    // $ANTLR start rule__Multiplication__Group__0__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3243:1: rule__Multiplication__Group__0__Impl : ( () ) ;
    public final void rule__Multiplication__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3247:1: ( ( () ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3248:1: ( () )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3248:1: ( () )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3249:1: ()
            {
             before(grammarAccess.getMultiplicationAccess().getMultiplicationAction_0()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3250:1: ()
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3252:1: 
            {
            }

             after(grammarAccess.getMultiplicationAccess().getMultiplicationAction_0()); 

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Multiplication__Group__0__Impl


    // $ANTLR start rule__Multiplication__Group__1
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3262:1: rule__Multiplication__Group__1 : rule__Multiplication__Group__1__Impl rule__Multiplication__Group__2 ;
    public final void rule__Multiplication__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3266:1: ( rule__Multiplication__Group__1__Impl rule__Multiplication__Group__2 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3267:2: rule__Multiplication__Group__1__Impl rule__Multiplication__Group__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__Multiplication__Group__1__Impl_in_rule__Multiplication__Group__16460);
            rule__Multiplication__Group__1__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Multiplication__Group__2_in_rule__Multiplication__Group__16463);
            rule__Multiplication__Group__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Multiplication__Group__1


    // $ANTLR start rule__Multiplication__Group__1__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3274:1: rule__Multiplication__Group__1__Impl : ( 'Multiplication' ) ;
    public final void rule__Multiplication__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3278:1: ( ( 'Multiplication' ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3279:1: ( 'Multiplication' )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3279:1: ( 'Multiplication' )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3280:1: 'Multiplication'
            {
             before(grammarAccess.getMultiplicationAccess().getMultiplicationKeyword_1()); 
            match(input,36,FollowSets000.FOLLOW_36_in_rule__Multiplication__Group__1__Impl6491); 
             after(grammarAccess.getMultiplicationAccess().getMultiplicationKeyword_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Multiplication__Group__1__Impl


    // $ANTLR start rule__Multiplication__Group__2
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3293:1: rule__Multiplication__Group__2 : rule__Multiplication__Group__2__Impl rule__Multiplication__Group__3 ;
    public final void rule__Multiplication__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3297:1: ( rule__Multiplication__Group__2__Impl rule__Multiplication__Group__3 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3298:2: rule__Multiplication__Group__2__Impl rule__Multiplication__Group__3
            {
            pushFollow(FollowSets000.FOLLOW_rule__Multiplication__Group__2__Impl_in_rule__Multiplication__Group__26522);
            rule__Multiplication__Group__2__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Multiplication__Group__3_in_rule__Multiplication__Group__26525);
            rule__Multiplication__Group__3();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Multiplication__Group__2


    // $ANTLR start rule__Multiplication__Group__2__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3305:1: rule__Multiplication__Group__2__Impl : ( '{' ) ;
    public final void rule__Multiplication__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3309:1: ( ( '{' ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3310:1: ( '{' )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3310:1: ( '{' )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3311:1: '{'
            {
             before(grammarAccess.getMultiplicationAccess().getLeftCurlyBracketKeyword_2()); 
            match(input,17,FollowSets000.FOLLOW_17_in_rule__Multiplication__Group__2__Impl6553); 
             after(grammarAccess.getMultiplicationAccess().getLeftCurlyBracketKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Multiplication__Group__2__Impl


    // $ANTLR start rule__Multiplication__Group__3
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3324:1: rule__Multiplication__Group__3 : rule__Multiplication__Group__3__Impl rule__Multiplication__Group__4 ;
    public final void rule__Multiplication__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3328:1: ( rule__Multiplication__Group__3__Impl rule__Multiplication__Group__4 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3329:2: rule__Multiplication__Group__3__Impl rule__Multiplication__Group__4
            {
            pushFollow(FollowSets000.FOLLOW_rule__Multiplication__Group__3__Impl_in_rule__Multiplication__Group__36584);
            rule__Multiplication__Group__3__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Multiplication__Group__4_in_rule__Multiplication__Group__36587);
            rule__Multiplication__Group__4();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Multiplication__Group__3


    // $ANTLR start rule__Multiplication__Group__3__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3336:1: rule__Multiplication__Group__3__Impl : ( ( rule__Multiplication__Group_3__0 )? ) ;
    public final void rule__Multiplication__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3340:1: ( ( ( rule__Multiplication__Group_3__0 )? ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3341:1: ( ( rule__Multiplication__Group_3__0 )? )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3341:1: ( ( rule__Multiplication__Group_3__0 )? )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3342:1: ( rule__Multiplication__Group_3__0 )?
            {
             before(grammarAccess.getMultiplicationAccess().getGroup_3()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3343:1: ( rule__Multiplication__Group_3__0 )?
            int alt22=2;
            int LA22_0 = input.LA(1);

            if ( (LA22_0==35) ) {
                alt22=1;
            }
            switch (alt22) {
                case 1 :
                    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3343:2: rule__Multiplication__Group_3__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__Multiplication__Group_3__0_in_rule__Multiplication__Group__3__Impl6614);
                    rule__Multiplication__Group_3__0();
                    _fsp--;


                    }
                    break;

            }

             after(grammarAccess.getMultiplicationAccess().getGroup_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Multiplication__Group__3__Impl


    // $ANTLR start rule__Multiplication__Group__4
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3353:1: rule__Multiplication__Group__4 : rule__Multiplication__Group__4__Impl ;
    public final void rule__Multiplication__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3357:1: ( rule__Multiplication__Group__4__Impl )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3358:2: rule__Multiplication__Group__4__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__Multiplication__Group__4__Impl_in_rule__Multiplication__Group__46645);
            rule__Multiplication__Group__4__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Multiplication__Group__4


    // $ANTLR start rule__Multiplication__Group__4__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3364:1: rule__Multiplication__Group__4__Impl : ( '}' ) ;
    public final void rule__Multiplication__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3368:1: ( ( '}' ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3369:1: ( '}' )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3369:1: ( '}' )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3370:1: '}'
            {
             before(grammarAccess.getMultiplicationAccess().getRightCurlyBracketKeyword_4()); 
            match(input,18,FollowSets000.FOLLOW_18_in_rule__Multiplication__Group__4__Impl6673); 
             after(grammarAccess.getMultiplicationAccess().getRightCurlyBracketKeyword_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Multiplication__Group__4__Impl


    // $ANTLR start rule__Multiplication__Group_3__0
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3393:1: rule__Multiplication__Group_3__0 : rule__Multiplication__Group_3__0__Impl rule__Multiplication__Group_3__1 ;
    public final void rule__Multiplication__Group_3__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3397:1: ( rule__Multiplication__Group_3__0__Impl rule__Multiplication__Group_3__1 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3398:2: rule__Multiplication__Group_3__0__Impl rule__Multiplication__Group_3__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__Multiplication__Group_3__0__Impl_in_rule__Multiplication__Group_3__06714);
            rule__Multiplication__Group_3__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Multiplication__Group_3__1_in_rule__Multiplication__Group_3__06717);
            rule__Multiplication__Group_3__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Multiplication__Group_3__0


    // $ANTLR start rule__Multiplication__Group_3__0__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3405:1: rule__Multiplication__Group_3__0__Impl : ( 'values' ) ;
    public final void rule__Multiplication__Group_3__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3409:1: ( ( 'values' ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3410:1: ( 'values' )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3410:1: ( 'values' )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3411:1: 'values'
            {
             before(grammarAccess.getMultiplicationAccess().getValuesKeyword_3_0()); 
            match(input,35,FollowSets000.FOLLOW_35_in_rule__Multiplication__Group_3__0__Impl6745); 
             after(grammarAccess.getMultiplicationAccess().getValuesKeyword_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Multiplication__Group_3__0__Impl


    // $ANTLR start rule__Multiplication__Group_3__1
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3424:1: rule__Multiplication__Group_3__1 : rule__Multiplication__Group_3__1__Impl rule__Multiplication__Group_3__2 ;
    public final void rule__Multiplication__Group_3__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3428:1: ( rule__Multiplication__Group_3__1__Impl rule__Multiplication__Group_3__2 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3429:2: rule__Multiplication__Group_3__1__Impl rule__Multiplication__Group_3__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__Multiplication__Group_3__1__Impl_in_rule__Multiplication__Group_3__16776);
            rule__Multiplication__Group_3__1__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Multiplication__Group_3__2_in_rule__Multiplication__Group_3__16779);
            rule__Multiplication__Group_3__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Multiplication__Group_3__1


    // $ANTLR start rule__Multiplication__Group_3__1__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3436:1: rule__Multiplication__Group_3__1__Impl : ( '{' ) ;
    public final void rule__Multiplication__Group_3__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3440:1: ( ( '{' ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3441:1: ( '{' )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3441:1: ( '{' )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3442:1: '{'
            {
             before(grammarAccess.getMultiplicationAccess().getLeftCurlyBracketKeyword_3_1()); 
            match(input,17,FollowSets000.FOLLOW_17_in_rule__Multiplication__Group_3__1__Impl6807); 
             after(grammarAccess.getMultiplicationAccess().getLeftCurlyBracketKeyword_3_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Multiplication__Group_3__1__Impl


    // $ANTLR start rule__Multiplication__Group_3__2
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3455:1: rule__Multiplication__Group_3__2 : rule__Multiplication__Group_3__2__Impl rule__Multiplication__Group_3__3 ;
    public final void rule__Multiplication__Group_3__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3459:1: ( rule__Multiplication__Group_3__2__Impl rule__Multiplication__Group_3__3 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3460:2: rule__Multiplication__Group_3__2__Impl rule__Multiplication__Group_3__3
            {
            pushFollow(FollowSets000.FOLLOW_rule__Multiplication__Group_3__2__Impl_in_rule__Multiplication__Group_3__26838);
            rule__Multiplication__Group_3__2__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Multiplication__Group_3__3_in_rule__Multiplication__Group_3__26841);
            rule__Multiplication__Group_3__3();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Multiplication__Group_3__2


    // $ANTLR start rule__Multiplication__Group_3__2__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3467:1: rule__Multiplication__Group_3__2__Impl : ( ( rule__Multiplication__ValuesAssignment_3_2 ) ) ;
    public final void rule__Multiplication__Group_3__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3471:1: ( ( ( rule__Multiplication__ValuesAssignment_3_2 ) ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3472:1: ( ( rule__Multiplication__ValuesAssignment_3_2 ) )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3472:1: ( ( rule__Multiplication__ValuesAssignment_3_2 ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3473:1: ( rule__Multiplication__ValuesAssignment_3_2 )
            {
             before(grammarAccess.getMultiplicationAccess().getValuesAssignment_3_2()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3474:1: ( rule__Multiplication__ValuesAssignment_3_2 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3474:2: rule__Multiplication__ValuesAssignment_3_2
            {
            pushFollow(FollowSets000.FOLLOW_rule__Multiplication__ValuesAssignment_3_2_in_rule__Multiplication__Group_3__2__Impl6868);
            rule__Multiplication__ValuesAssignment_3_2();
            _fsp--;


            }

             after(grammarAccess.getMultiplicationAccess().getValuesAssignment_3_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Multiplication__Group_3__2__Impl


    // $ANTLR start rule__Multiplication__Group_3__3
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3484:1: rule__Multiplication__Group_3__3 : rule__Multiplication__Group_3__3__Impl rule__Multiplication__Group_3__4 ;
    public final void rule__Multiplication__Group_3__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3488:1: ( rule__Multiplication__Group_3__3__Impl rule__Multiplication__Group_3__4 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3489:2: rule__Multiplication__Group_3__3__Impl rule__Multiplication__Group_3__4
            {
            pushFollow(FollowSets000.FOLLOW_rule__Multiplication__Group_3__3__Impl_in_rule__Multiplication__Group_3__36898);
            rule__Multiplication__Group_3__3__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Multiplication__Group_3__4_in_rule__Multiplication__Group_3__36901);
            rule__Multiplication__Group_3__4();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Multiplication__Group_3__3


    // $ANTLR start rule__Multiplication__Group_3__3__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3496:1: rule__Multiplication__Group_3__3__Impl : ( ( rule__Multiplication__Group_3_3__0 )* ) ;
    public final void rule__Multiplication__Group_3__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3500:1: ( ( ( rule__Multiplication__Group_3_3__0 )* ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3501:1: ( ( rule__Multiplication__Group_3_3__0 )* )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3501:1: ( ( rule__Multiplication__Group_3_3__0 )* )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3502:1: ( rule__Multiplication__Group_3_3__0 )*
            {
             before(grammarAccess.getMultiplicationAccess().getGroup_3_3()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3503:1: ( rule__Multiplication__Group_3_3__0 )*
            loop23:
            do {
                int alt23=2;
                int LA23_0 = input.LA(1);

                if ( (LA23_0==20) ) {
                    alt23=1;
                }


                switch (alt23) {
            	case 1 :
            	    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3503:2: rule__Multiplication__Group_3_3__0
            	    {
            	    pushFollow(FollowSets000.FOLLOW_rule__Multiplication__Group_3_3__0_in_rule__Multiplication__Group_3__3__Impl6928);
            	    rule__Multiplication__Group_3_3__0();
            	    _fsp--;


            	    }
            	    break;

            	default :
            	    break loop23;
                }
            } while (true);

             after(grammarAccess.getMultiplicationAccess().getGroup_3_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Multiplication__Group_3__3__Impl


    // $ANTLR start rule__Multiplication__Group_3__4
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3513:1: rule__Multiplication__Group_3__4 : rule__Multiplication__Group_3__4__Impl ;
    public final void rule__Multiplication__Group_3__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3517:1: ( rule__Multiplication__Group_3__4__Impl )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3518:2: rule__Multiplication__Group_3__4__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__Multiplication__Group_3__4__Impl_in_rule__Multiplication__Group_3__46959);
            rule__Multiplication__Group_3__4__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Multiplication__Group_3__4


    // $ANTLR start rule__Multiplication__Group_3__4__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3524:1: rule__Multiplication__Group_3__4__Impl : ( '}' ) ;
    public final void rule__Multiplication__Group_3__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3528:1: ( ( '}' ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3529:1: ( '}' )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3529:1: ( '}' )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3530:1: '}'
            {
             before(grammarAccess.getMultiplicationAccess().getRightCurlyBracketKeyword_3_4()); 
            match(input,18,FollowSets000.FOLLOW_18_in_rule__Multiplication__Group_3__4__Impl6987); 
             after(grammarAccess.getMultiplicationAccess().getRightCurlyBracketKeyword_3_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Multiplication__Group_3__4__Impl


    // $ANTLR start rule__Multiplication__Group_3_3__0
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3553:1: rule__Multiplication__Group_3_3__0 : rule__Multiplication__Group_3_3__0__Impl rule__Multiplication__Group_3_3__1 ;
    public final void rule__Multiplication__Group_3_3__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3557:1: ( rule__Multiplication__Group_3_3__0__Impl rule__Multiplication__Group_3_3__1 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3558:2: rule__Multiplication__Group_3_3__0__Impl rule__Multiplication__Group_3_3__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__Multiplication__Group_3_3__0__Impl_in_rule__Multiplication__Group_3_3__07028);
            rule__Multiplication__Group_3_3__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Multiplication__Group_3_3__1_in_rule__Multiplication__Group_3_3__07031);
            rule__Multiplication__Group_3_3__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Multiplication__Group_3_3__0


    // $ANTLR start rule__Multiplication__Group_3_3__0__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3565:1: rule__Multiplication__Group_3_3__0__Impl : ( ',' ) ;
    public final void rule__Multiplication__Group_3_3__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3569:1: ( ( ',' ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3570:1: ( ',' )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3570:1: ( ',' )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3571:1: ','
            {
             before(grammarAccess.getMultiplicationAccess().getCommaKeyword_3_3_0()); 
            match(input,20,FollowSets000.FOLLOW_20_in_rule__Multiplication__Group_3_3__0__Impl7059); 
             after(grammarAccess.getMultiplicationAccess().getCommaKeyword_3_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Multiplication__Group_3_3__0__Impl


    // $ANTLR start rule__Multiplication__Group_3_3__1
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3584:1: rule__Multiplication__Group_3_3__1 : rule__Multiplication__Group_3_3__1__Impl ;
    public final void rule__Multiplication__Group_3_3__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3588:1: ( rule__Multiplication__Group_3_3__1__Impl )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3589:2: rule__Multiplication__Group_3_3__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__Multiplication__Group_3_3__1__Impl_in_rule__Multiplication__Group_3_3__17090);
            rule__Multiplication__Group_3_3__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Multiplication__Group_3_3__1


    // $ANTLR start rule__Multiplication__Group_3_3__1__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3595:1: rule__Multiplication__Group_3_3__1__Impl : ( ( rule__Multiplication__ValuesAssignment_3_3_1 ) ) ;
    public final void rule__Multiplication__Group_3_3__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3599:1: ( ( ( rule__Multiplication__ValuesAssignment_3_3_1 ) ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3600:1: ( ( rule__Multiplication__ValuesAssignment_3_3_1 ) )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3600:1: ( ( rule__Multiplication__ValuesAssignment_3_3_1 ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3601:1: ( rule__Multiplication__ValuesAssignment_3_3_1 )
            {
             before(grammarAccess.getMultiplicationAccess().getValuesAssignment_3_3_1()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3602:1: ( rule__Multiplication__ValuesAssignment_3_3_1 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3602:2: rule__Multiplication__ValuesAssignment_3_3_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__Multiplication__ValuesAssignment_3_3_1_in_rule__Multiplication__Group_3_3__1__Impl7117);
            rule__Multiplication__ValuesAssignment_3_3_1();
            _fsp--;


            }

             after(grammarAccess.getMultiplicationAccess().getValuesAssignment_3_3_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Multiplication__Group_3_3__1__Impl


    // $ANTLR start rule__EDouble__Group__0
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3616:1: rule__EDouble__Group__0 : rule__EDouble__Group__0__Impl rule__EDouble__Group__1 ;
    public final void rule__EDouble__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3620:1: ( rule__EDouble__Group__0__Impl rule__EDouble__Group__1 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3621:2: rule__EDouble__Group__0__Impl rule__EDouble__Group__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__EDouble__Group__0__Impl_in_rule__EDouble__Group__07151);
            rule__EDouble__Group__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__EDouble__Group__1_in_rule__EDouble__Group__07154);
            rule__EDouble__Group__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EDouble__Group__0


    // $ANTLR start rule__EDouble__Group__0__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3628:1: rule__EDouble__Group__0__Impl : ( ( '-' )? ) ;
    public final void rule__EDouble__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3632:1: ( ( ( '-' )? ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3633:1: ( ( '-' )? )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3633:1: ( ( '-' )? )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3634:1: ( '-' )?
            {
             before(grammarAccess.getEDoubleAccess().getHyphenMinusKeyword_0()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3635:1: ( '-' )?
            int alt24=2;
            int LA24_0 = input.LA(1);

            if ( (LA24_0==37) ) {
                alt24=1;
            }
            switch (alt24) {
                case 1 :
                    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3636:2: '-'
                    {
                    match(input,37,FollowSets000.FOLLOW_37_in_rule__EDouble__Group__0__Impl7183); 

                    }
                    break;

            }

             after(grammarAccess.getEDoubleAccess().getHyphenMinusKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EDouble__Group__0__Impl


    // $ANTLR start rule__EDouble__Group__1
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3647:1: rule__EDouble__Group__1 : rule__EDouble__Group__1__Impl rule__EDouble__Group__2 ;
    public final void rule__EDouble__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3651:1: ( rule__EDouble__Group__1__Impl rule__EDouble__Group__2 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3652:2: rule__EDouble__Group__1__Impl rule__EDouble__Group__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__EDouble__Group__1__Impl_in_rule__EDouble__Group__17216);
            rule__EDouble__Group__1__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__EDouble__Group__2_in_rule__EDouble__Group__17219);
            rule__EDouble__Group__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EDouble__Group__1


    // $ANTLR start rule__EDouble__Group__1__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3659:1: rule__EDouble__Group__1__Impl : ( ( RULE_INT )? ) ;
    public final void rule__EDouble__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3663:1: ( ( ( RULE_INT )? ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3664:1: ( ( RULE_INT )? )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3664:1: ( ( RULE_INT )? )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3665:1: ( RULE_INT )?
            {
             before(grammarAccess.getEDoubleAccess().getINTTerminalRuleCall_1()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3666:1: ( RULE_INT )?
            int alt25=2;
            int LA25_0 = input.LA(1);

            if ( (LA25_0==RULE_INT) ) {
                alt25=1;
            }
            switch (alt25) {
                case 1 :
                    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3666:3: RULE_INT
                    {
                    match(input,RULE_INT,FollowSets000.FOLLOW_RULE_INT_in_rule__EDouble__Group__1__Impl7247); 

                    }
                    break;

            }

             after(grammarAccess.getEDoubleAccess().getINTTerminalRuleCall_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EDouble__Group__1__Impl


    // $ANTLR start rule__EDouble__Group__2
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3676:1: rule__EDouble__Group__2 : rule__EDouble__Group__2__Impl rule__EDouble__Group__3 ;
    public final void rule__EDouble__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3680:1: ( rule__EDouble__Group__2__Impl rule__EDouble__Group__3 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3681:2: rule__EDouble__Group__2__Impl rule__EDouble__Group__3
            {
            pushFollow(FollowSets000.FOLLOW_rule__EDouble__Group__2__Impl_in_rule__EDouble__Group__27278);
            rule__EDouble__Group__2__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__EDouble__Group__3_in_rule__EDouble__Group__27281);
            rule__EDouble__Group__3();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EDouble__Group__2


    // $ANTLR start rule__EDouble__Group__2__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3688:1: rule__EDouble__Group__2__Impl : ( '.' ) ;
    public final void rule__EDouble__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3692:1: ( ( '.' ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3693:1: ( '.' )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3693:1: ( '.' )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3694:1: '.'
            {
             before(grammarAccess.getEDoubleAccess().getFullStopKeyword_2()); 
            match(input,38,FollowSets000.FOLLOW_38_in_rule__EDouble__Group__2__Impl7309); 
             after(grammarAccess.getEDoubleAccess().getFullStopKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EDouble__Group__2__Impl


    // $ANTLR start rule__EDouble__Group__3
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3707:1: rule__EDouble__Group__3 : rule__EDouble__Group__3__Impl rule__EDouble__Group__4 ;
    public final void rule__EDouble__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3711:1: ( rule__EDouble__Group__3__Impl rule__EDouble__Group__4 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3712:2: rule__EDouble__Group__3__Impl rule__EDouble__Group__4
            {
            pushFollow(FollowSets000.FOLLOW_rule__EDouble__Group__3__Impl_in_rule__EDouble__Group__37340);
            rule__EDouble__Group__3__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__EDouble__Group__4_in_rule__EDouble__Group__37343);
            rule__EDouble__Group__4();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EDouble__Group__3


    // $ANTLR start rule__EDouble__Group__3__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3719:1: rule__EDouble__Group__3__Impl : ( RULE_INT ) ;
    public final void rule__EDouble__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3723:1: ( ( RULE_INT ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3724:1: ( RULE_INT )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3724:1: ( RULE_INT )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3725:1: RULE_INT
            {
             before(grammarAccess.getEDoubleAccess().getINTTerminalRuleCall_3()); 
            match(input,RULE_INT,FollowSets000.FOLLOW_RULE_INT_in_rule__EDouble__Group__3__Impl7370); 
             after(grammarAccess.getEDoubleAccess().getINTTerminalRuleCall_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EDouble__Group__3__Impl


    // $ANTLR start rule__EDouble__Group__4
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3736:1: rule__EDouble__Group__4 : rule__EDouble__Group__4__Impl ;
    public final void rule__EDouble__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3740:1: ( rule__EDouble__Group__4__Impl )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3741:2: rule__EDouble__Group__4__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__EDouble__Group__4__Impl_in_rule__EDouble__Group__47399);
            rule__EDouble__Group__4__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EDouble__Group__4


    // $ANTLR start rule__EDouble__Group__4__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3747:1: rule__EDouble__Group__4__Impl : ( ( rule__EDouble__Group_4__0 )? ) ;
    public final void rule__EDouble__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3751:1: ( ( ( rule__EDouble__Group_4__0 )? ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3752:1: ( ( rule__EDouble__Group_4__0 )? )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3752:1: ( ( rule__EDouble__Group_4__0 )? )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3753:1: ( rule__EDouble__Group_4__0 )?
            {
             before(grammarAccess.getEDoubleAccess().getGroup_4()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3754:1: ( rule__EDouble__Group_4__0 )?
            int alt26=2;
            int LA26_0 = input.LA(1);

            if ( ((LA26_0>=11 && LA26_0<=12)) ) {
                alt26=1;
            }
            switch (alt26) {
                case 1 :
                    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3754:2: rule__EDouble__Group_4__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__EDouble__Group_4__0_in_rule__EDouble__Group__4__Impl7426);
                    rule__EDouble__Group_4__0();
                    _fsp--;


                    }
                    break;

            }

             after(grammarAccess.getEDoubleAccess().getGroup_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EDouble__Group__4__Impl


    // $ANTLR start rule__EDouble__Group_4__0
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3774:1: rule__EDouble__Group_4__0 : rule__EDouble__Group_4__0__Impl rule__EDouble__Group_4__1 ;
    public final void rule__EDouble__Group_4__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3778:1: ( rule__EDouble__Group_4__0__Impl rule__EDouble__Group_4__1 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3779:2: rule__EDouble__Group_4__0__Impl rule__EDouble__Group_4__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__EDouble__Group_4__0__Impl_in_rule__EDouble__Group_4__07467);
            rule__EDouble__Group_4__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__EDouble__Group_4__1_in_rule__EDouble__Group_4__07470);
            rule__EDouble__Group_4__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EDouble__Group_4__0


    // $ANTLR start rule__EDouble__Group_4__0__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3786:1: rule__EDouble__Group_4__0__Impl : ( ( rule__EDouble__Alternatives_4_0 ) ) ;
    public final void rule__EDouble__Group_4__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3790:1: ( ( ( rule__EDouble__Alternatives_4_0 ) ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3791:1: ( ( rule__EDouble__Alternatives_4_0 ) )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3791:1: ( ( rule__EDouble__Alternatives_4_0 ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3792:1: ( rule__EDouble__Alternatives_4_0 )
            {
             before(grammarAccess.getEDoubleAccess().getAlternatives_4_0()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3793:1: ( rule__EDouble__Alternatives_4_0 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3793:2: rule__EDouble__Alternatives_4_0
            {
            pushFollow(FollowSets000.FOLLOW_rule__EDouble__Alternatives_4_0_in_rule__EDouble__Group_4__0__Impl7497);
            rule__EDouble__Alternatives_4_0();
            _fsp--;


            }

             after(grammarAccess.getEDoubleAccess().getAlternatives_4_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EDouble__Group_4__0__Impl


    // $ANTLR start rule__EDouble__Group_4__1
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3803:1: rule__EDouble__Group_4__1 : rule__EDouble__Group_4__1__Impl rule__EDouble__Group_4__2 ;
    public final void rule__EDouble__Group_4__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3807:1: ( rule__EDouble__Group_4__1__Impl rule__EDouble__Group_4__2 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3808:2: rule__EDouble__Group_4__1__Impl rule__EDouble__Group_4__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__EDouble__Group_4__1__Impl_in_rule__EDouble__Group_4__17527);
            rule__EDouble__Group_4__1__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__EDouble__Group_4__2_in_rule__EDouble__Group_4__17530);
            rule__EDouble__Group_4__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EDouble__Group_4__1


    // $ANTLR start rule__EDouble__Group_4__1__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3815:1: rule__EDouble__Group_4__1__Impl : ( ( '-' )? ) ;
    public final void rule__EDouble__Group_4__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3819:1: ( ( ( '-' )? ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3820:1: ( ( '-' )? )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3820:1: ( ( '-' )? )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3821:1: ( '-' )?
            {
             before(grammarAccess.getEDoubleAccess().getHyphenMinusKeyword_4_1()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3822:1: ( '-' )?
            int alt27=2;
            int LA27_0 = input.LA(1);

            if ( (LA27_0==37) ) {
                alt27=1;
            }
            switch (alt27) {
                case 1 :
                    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3823:2: '-'
                    {
                    match(input,37,FollowSets000.FOLLOW_37_in_rule__EDouble__Group_4__1__Impl7559); 

                    }
                    break;

            }

             after(grammarAccess.getEDoubleAccess().getHyphenMinusKeyword_4_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EDouble__Group_4__1__Impl


    // $ANTLR start rule__EDouble__Group_4__2
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3834:1: rule__EDouble__Group_4__2 : rule__EDouble__Group_4__2__Impl ;
    public final void rule__EDouble__Group_4__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3838:1: ( rule__EDouble__Group_4__2__Impl )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3839:2: rule__EDouble__Group_4__2__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__EDouble__Group_4__2__Impl_in_rule__EDouble__Group_4__27592);
            rule__EDouble__Group_4__2__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EDouble__Group_4__2


    // $ANTLR start rule__EDouble__Group_4__2__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3845:1: rule__EDouble__Group_4__2__Impl : ( RULE_INT ) ;
    public final void rule__EDouble__Group_4__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3849:1: ( ( RULE_INT ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3850:1: ( RULE_INT )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3850:1: ( RULE_INT )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3851:1: RULE_INT
            {
             before(grammarAccess.getEDoubleAccess().getINTTerminalRuleCall_4_2()); 
            match(input,RULE_INT,FollowSets000.FOLLOW_RULE_INT_in_rule__EDouble__Group_4__2__Impl7619); 
             after(grammarAccess.getEDoubleAccess().getINTTerminalRuleCall_4_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EDouble__Group_4__2__Impl


    // $ANTLR start rule__RectangularBoard__Group__0
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3868:1: rule__RectangularBoard__Group__0 : rule__RectangularBoard__Group__0__Impl rule__RectangularBoard__Group__1 ;
    public final void rule__RectangularBoard__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3872:1: ( rule__RectangularBoard__Group__0__Impl rule__RectangularBoard__Group__1 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3873:2: rule__RectangularBoard__Group__0__Impl rule__RectangularBoard__Group__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__RectangularBoard__Group__0__Impl_in_rule__RectangularBoard__Group__07654);
            rule__RectangularBoard__Group__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__RectangularBoard__Group__1_in_rule__RectangularBoard__Group__07657);
            rule__RectangularBoard__Group__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__RectangularBoard__Group__0


    // $ANTLR start rule__RectangularBoard__Group__0__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3880:1: rule__RectangularBoard__Group__0__Impl : ( () ) ;
    public final void rule__RectangularBoard__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3884:1: ( ( () ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3885:1: ( () )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3885:1: ( () )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3886:1: ()
            {
             before(grammarAccess.getRectangularBoardAccess().getRectangularBoardAction_0()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3887:1: ()
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3889:1: 
            {
            }

             after(grammarAccess.getRectangularBoardAccess().getRectangularBoardAction_0()); 

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__RectangularBoard__Group__0__Impl


    // $ANTLR start rule__RectangularBoard__Group__1
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3899:1: rule__RectangularBoard__Group__1 : rule__RectangularBoard__Group__1__Impl rule__RectangularBoard__Group__2 ;
    public final void rule__RectangularBoard__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3903:1: ( rule__RectangularBoard__Group__1__Impl rule__RectangularBoard__Group__2 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3904:2: rule__RectangularBoard__Group__1__Impl rule__RectangularBoard__Group__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__RectangularBoard__Group__1__Impl_in_rule__RectangularBoard__Group__17715);
            rule__RectangularBoard__Group__1__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__RectangularBoard__Group__2_in_rule__RectangularBoard__Group__17718);
            rule__RectangularBoard__Group__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__RectangularBoard__Group__1


    // $ANTLR start rule__RectangularBoard__Group__1__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3911:1: rule__RectangularBoard__Group__1__Impl : ( 'RectangularBoard' ) ;
    public final void rule__RectangularBoard__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3915:1: ( ( 'RectangularBoard' ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3916:1: ( 'RectangularBoard' )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3916:1: ( 'RectangularBoard' )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3917:1: 'RectangularBoard'
            {
             before(grammarAccess.getRectangularBoardAccess().getRectangularBoardKeyword_1()); 
            match(input,39,FollowSets000.FOLLOW_39_in_rule__RectangularBoard__Group__1__Impl7746); 
             after(grammarAccess.getRectangularBoardAccess().getRectangularBoardKeyword_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__RectangularBoard__Group__1__Impl


    // $ANTLR start rule__RectangularBoard__Group__2
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3930:1: rule__RectangularBoard__Group__2 : rule__RectangularBoard__Group__2__Impl rule__RectangularBoard__Group__3 ;
    public final void rule__RectangularBoard__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3934:1: ( rule__RectangularBoard__Group__2__Impl rule__RectangularBoard__Group__3 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3935:2: rule__RectangularBoard__Group__2__Impl rule__RectangularBoard__Group__3
            {
            pushFollow(FollowSets000.FOLLOW_rule__RectangularBoard__Group__2__Impl_in_rule__RectangularBoard__Group__27777);
            rule__RectangularBoard__Group__2__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__RectangularBoard__Group__3_in_rule__RectangularBoard__Group__27780);
            rule__RectangularBoard__Group__3();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__RectangularBoard__Group__2


    // $ANTLR start rule__RectangularBoard__Group__2__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3942:1: rule__RectangularBoard__Group__2__Impl : ( ( rule__RectangularBoard__NameAssignment_2 ) ) ;
    public final void rule__RectangularBoard__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3946:1: ( ( ( rule__RectangularBoard__NameAssignment_2 ) ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3947:1: ( ( rule__RectangularBoard__NameAssignment_2 ) )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3947:1: ( ( rule__RectangularBoard__NameAssignment_2 ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3948:1: ( rule__RectangularBoard__NameAssignment_2 )
            {
             before(grammarAccess.getRectangularBoardAccess().getNameAssignment_2()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3949:1: ( rule__RectangularBoard__NameAssignment_2 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3949:2: rule__RectangularBoard__NameAssignment_2
            {
            pushFollow(FollowSets000.FOLLOW_rule__RectangularBoard__NameAssignment_2_in_rule__RectangularBoard__Group__2__Impl7807);
            rule__RectangularBoard__NameAssignment_2();
            _fsp--;


            }

             after(grammarAccess.getRectangularBoardAccess().getNameAssignment_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__RectangularBoard__Group__2__Impl


    // $ANTLR start rule__RectangularBoard__Group__3
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3959:1: rule__RectangularBoard__Group__3 : rule__RectangularBoard__Group__3__Impl rule__RectangularBoard__Group__4 ;
    public final void rule__RectangularBoard__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3963:1: ( rule__RectangularBoard__Group__3__Impl rule__RectangularBoard__Group__4 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3964:2: rule__RectangularBoard__Group__3__Impl rule__RectangularBoard__Group__4
            {
            pushFollow(FollowSets000.FOLLOW_rule__RectangularBoard__Group__3__Impl_in_rule__RectangularBoard__Group__37837);
            rule__RectangularBoard__Group__3__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__RectangularBoard__Group__4_in_rule__RectangularBoard__Group__37840);
            rule__RectangularBoard__Group__4();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__RectangularBoard__Group__3


    // $ANTLR start rule__RectangularBoard__Group__3__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3971:1: rule__RectangularBoard__Group__3__Impl : ( '{' ) ;
    public final void rule__RectangularBoard__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3975:1: ( ( '{' ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3976:1: ( '{' )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3976:1: ( '{' )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3977:1: '{'
            {
             before(grammarAccess.getRectangularBoardAccess().getLeftCurlyBracketKeyword_3()); 
            match(input,17,FollowSets000.FOLLOW_17_in_rule__RectangularBoard__Group__3__Impl7868); 
             after(grammarAccess.getRectangularBoardAccess().getLeftCurlyBracketKeyword_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__RectangularBoard__Group__3__Impl


    // $ANTLR start rule__RectangularBoard__Group__4
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3990:1: rule__RectangularBoard__Group__4 : rule__RectangularBoard__Group__4__Impl rule__RectangularBoard__Group__5 ;
    public final void rule__RectangularBoard__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3994:1: ( rule__RectangularBoard__Group__4__Impl rule__RectangularBoard__Group__5 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:3995:2: rule__RectangularBoard__Group__4__Impl rule__RectangularBoard__Group__5
            {
            pushFollow(FollowSets000.FOLLOW_rule__RectangularBoard__Group__4__Impl_in_rule__RectangularBoard__Group__47899);
            rule__RectangularBoard__Group__4__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__RectangularBoard__Group__5_in_rule__RectangularBoard__Group__47902);
            rule__RectangularBoard__Group__5();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__RectangularBoard__Group__4


    // $ANTLR start rule__RectangularBoard__Group__4__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4002:1: rule__RectangularBoard__Group__4__Impl : ( ( rule__RectangularBoard__Group_4__0 )? ) ;
    public final void rule__RectangularBoard__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4006:1: ( ( ( rule__RectangularBoard__Group_4__0 )? ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4007:1: ( ( rule__RectangularBoard__Group_4__0 )? )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4007:1: ( ( rule__RectangularBoard__Group_4__0 )? )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4008:1: ( rule__RectangularBoard__Group_4__0 )?
            {
             before(grammarAccess.getRectangularBoardAccess().getGroup_4()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4009:1: ( rule__RectangularBoard__Group_4__0 )?
            int alt28=2;
            int LA28_0 = input.LA(1);

            if ( (LA28_0==40) ) {
                alt28=1;
            }
            switch (alt28) {
                case 1 :
                    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4009:2: rule__RectangularBoard__Group_4__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__RectangularBoard__Group_4__0_in_rule__RectangularBoard__Group__4__Impl7929);
                    rule__RectangularBoard__Group_4__0();
                    _fsp--;


                    }
                    break;

            }

             after(grammarAccess.getRectangularBoardAccess().getGroup_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__RectangularBoard__Group__4__Impl


    // $ANTLR start rule__RectangularBoard__Group__5
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4019:1: rule__RectangularBoard__Group__5 : rule__RectangularBoard__Group__5__Impl rule__RectangularBoard__Group__6 ;
    public final void rule__RectangularBoard__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4023:1: ( rule__RectangularBoard__Group__5__Impl rule__RectangularBoard__Group__6 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4024:2: rule__RectangularBoard__Group__5__Impl rule__RectangularBoard__Group__6
            {
            pushFollow(FollowSets000.FOLLOW_rule__RectangularBoard__Group__5__Impl_in_rule__RectangularBoard__Group__57960);
            rule__RectangularBoard__Group__5__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__RectangularBoard__Group__6_in_rule__RectangularBoard__Group__57963);
            rule__RectangularBoard__Group__6();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__RectangularBoard__Group__5


    // $ANTLR start rule__RectangularBoard__Group__5__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4031:1: rule__RectangularBoard__Group__5__Impl : ( ( rule__RectangularBoard__Group_5__0 )? ) ;
    public final void rule__RectangularBoard__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4035:1: ( ( ( rule__RectangularBoard__Group_5__0 )? ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4036:1: ( ( rule__RectangularBoard__Group_5__0 )? )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4036:1: ( ( rule__RectangularBoard__Group_5__0 )? )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4037:1: ( rule__RectangularBoard__Group_5__0 )?
            {
             before(grammarAccess.getRectangularBoardAccess().getGroup_5()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4038:1: ( rule__RectangularBoard__Group_5__0 )?
            int alt29=2;
            int LA29_0 = input.LA(1);

            if ( (LA29_0==28) ) {
                alt29=1;
            }
            switch (alt29) {
                case 1 :
                    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4038:2: rule__RectangularBoard__Group_5__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__RectangularBoard__Group_5__0_in_rule__RectangularBoard__Group__5__Impl7990);
                    rule__RectangularBoard__Group_5__0();
                    _fsp--;


                    }
                    break;

            }

             after(grammarAccess.getRectangularBoardAccess().getGroup_5()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__RectangularBoard__Group__5__Impl


    // $ANTLR start rule__RectangularBoard__Group__6
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4048:1: rule__RectangularBoard__Group__6 : rule__RectangularBoard__Group__6__Impl rule__RectangularBoard__Group__7 ;
    public final void rule__RectangularBoard__Group__6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4052:1: ( rule__RectangularBoard__Group__6__Impl rule__RectangularBoard__Group__7 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4053:2: rule__RectangularBoard__Group__6__Impl rule__RectangularBoard__Group__7
            {
            pushFollow(FollowSets000.FOLLOW_rule__RectangularBoard__Group__6__Impl_in_rule__RectangularBoard__Group__68021);
            rule__RectangularBoard__Group__6__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__RectangularBoard__Group__7_in_rule__RectangularBoard__Group__68024);
            rule__RectangularBoard__Group__7();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__RectangularBoard__Group__6


    // $ANTLR start rule__RectangularBoard__Group__6__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4060:1: rule__RectangularBoard__Group__6__Impl : ( ( rule__RectangularBoard__Group_6__0 )? ) ;
    public final void rule__RectangularBoard__Group__6__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4064:1: ( ( ( rule__RectangularBoard__Group_6__0 )? ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4065:1: ( ( rule__RectangularBoard__Group_6__0 )? )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4065:1: ( ( rule__RectangularBoard__Group_6__0 )? )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4066:1: ( rule__RectangularBoard__Group_6__0 )?
            {
             before(grammarAccess.getRectangularBoardAccess().getGroup_6()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4067:1: ( rule__RectangularBoard__Group_6__0 )?
            int alt30=2;
            int LA30_0 = input.LA(1);

            if ( (LA30_0==29) ) {
                alt30=1;
            }
            switch (alt30) {
                case 1 :
                    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4067:2: rule__RectangularBoard__Group_6__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__RectangularBoard__Group_6__0_in_rule__RectangularBoard__Group__6__Impl8051);
                    rule__RectangularBoard__Group_6__0();
                    _fsp--;


                    }
                    break;

            }

             after(grammarAccess.getRectangularBoardAccess().getGroup_6()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__RectangularBoard__Group__6__Impl


    // $ANTLR start rule__RectangularBoard__Group__7
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4077:1: rule__RectangularBoard__Group__7 : rule__RectangularBoard__Group__7__Impl ;
    public final void rule__RectangularBoard__Group__7() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4081:1: ( rule__RectangularBoard__Group__7__Impl )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4082:2: rule__RectangularBoard__Group__7__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__RectangularBoard__Group__7__Impl_in_rule__RectangularBoard__Group__78082);
            rule__RectangularBoard__Group__7__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__RectangularBoard__Group__7


    // $ANTLR start rule__RectangularBoard__Group__7__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4088:1: rule__RectangularBoard__Group__7__Impl : ( '}' ) ;
    public final void rule__RectangularBoard__Group__7__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4092:1: ( ( '}' ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4093:1: ( '}' )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4093:1: ( '}' )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4094:1: '}'
            {
             before(grammarAccess.getRectangularBoardAccess().getRightCurlyBracketKeyword_7()); 
            match(input,18,FollowSets000.FOLLOW_18_in_rule__RectangularBoard__Group__7__Impl8110); 
             after(grammarAccess.getRectangularBoardAccess().getRightCurlyBracketKeyword_7()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__RectangularBoard__Group__7__Impl


    // $ANTLR start rule__RectangularBoard__Group_4__0
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4123:1: rule__RectangularBoard__Group_4__0 : rule__RectangularBoard__Group_4__0__Impl rule__RectangularBoard__Group_4__1 ;
    public final void rule__RectangularBoard__Group_4__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4127:1: ( rule__RectangularBoard__Group_4__0__Impl rule__RectangularBoard__Group_4__1 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4128:2: rule__RectangularBoard__Group_4__0__Impl rule__RectangularBoard__Group_4__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__RectangularBoard__Group_4__0__Impl_in_rule__RectangularBoard__Group_4__08157);
            rule__RectangularBoard__Group_4__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__RectangularBoard__Group_4__1_in_rule__RectangularBoard__Group_4__08160);
            rule__RectangularBoard__Group_4__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__RectangularBoard__Group_4__0


    // $ANTLR start rule__RectangularBoard__Group_4__0__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4135:1: rule__RectangularBoard__Group_4__0__Impl : ( 'thickness' ) ;
    public final void rule__RectangularBoard__Group_4__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4139:1: ( ( 'thickness' ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4140:1: ( 'thickness' )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4140:1: ( 'thickness' )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4141:1: 'thickness'
            {
             before(grammarAccess.getRectangularBoardAccess().getThicknessKeyword_4_0()); 
            match(input,40,FollowSets000.FOLLOW_40_in_rule__RectangularBoard__Group_4__0__Impl8188); 
             after(grammarAccess.getRectangularBoardAccess().getThicknessKeyword_4_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__RectangularBoard__Group_4__0__Impl


    // $ANTLR start rule__RectangularBoard__Group_4__1
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4154:1: rule__RectangularBoard__Group_4__1 : rule__RectangularBoard__Group_4__1__Impl ;
    public final void rule__RectangularBoard__Group_4__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4158:1: ( rule__RectangularBoard__Group_4__1__Impl )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4159:2: rule__RectangularBoard__Group_4__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__RectangularBoard__Group_4__1__Impl_in_rule__RectangularBoard__Group_4__18219);
            rule__RectangularBoard__Group_4__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__RectangularBoard__Group_4__1


    // $ANTLR start rule__RectangularBoard__Group_4__1__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4165:1: rule__RectangularBoard__Group_4__1__Impl : ( ( rule__RectangularBoard__ThicknessAssignment_4_1 ) ) ;
    public final void rule__RectangularBoard__Group_4__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4169:1: ( ( ( rule__RectangularBoard__ThicknessAssignment_4_1 ) ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4170:1: ( ( rule__RectangularBoard__ThicknessAssignment_4_1 ) )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4170:1: ( ( rule__RectangularBoard__ThicknessAssignment_4_1 ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4171:1: ( rule__RectangularBoard__ThicknessAssignment_4_1 )
            {
             before(grammarAccess.getRectangularBoardAccess().getThicknessAssignment_4_1()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4172:1: ( rule__RectangularBoard__ThicknessAssignment_4_1 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4172:2: rule__RectangularBoard__ThicknessAssignment_4_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__RectangularBoard__ThicknessAssignment_4_1_in_rule__RectangularBoard__Group_4__1__Impl8246);
            rule__RectangularBoard__ThicknessAssignment_4_1();
            _fsp--;


            }

             after(grammarAccess.getRectangularBoardAccess().getThicknessAssignment_4_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__RectangularBoard__Group_4__1__Impl


    // $ANTLR start rule__RectangularBoard__Group_5__0
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4186:1: rule__RectangularBoard__Group_5__0 : rule__RectangularBoard__Group_5__0__Impl rule__RectangularBoard__Group_5__1 ;
    public final void rule__RectangularBoard__Group_5__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4190:1: ( rule__RectangularBoard__Group_5__0__Impl rule__RectangularBoard__Group_5__1 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4191:2: rule__RectangularBoard__Group_5__0__Impl rule__RectangularBoard__Group_5__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__RectangularBoard__Group_5__0__Impl_in_rule__RectangularBoard__Group_5__08280);
            rule__RectangularBoard__Group_5__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__RectangularBoard__Group_5__1_in_rule__RectangularBoard__Group_5__08283);
            rule__RectangularBoard__Group_5__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__RectangularBoard__Group_5__0


    // $ANTLR start rule__RectangularBoard__Group_5__0__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4198:1: rule__RectangularBoard__Group_5__0__Impl : ( 'X' ) ;
    public final void rule__RectangularBoard__Group_5__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4202:1: ( ( 'X' ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4203:1: ( 'X' )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4203:1: ( 'X' )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4204:1: 'X'
            {
             before(grammarAccess.getRectangularBoardAccess().getXKeyword_5_0()); 
            match(input,28,FollowSets000.FOLLOW_28_in_rule__RectangularBoard__Group_5__0__Impl8311); 
             after(grammarAccess.getRectangularBoardAccess().getXKeyword_5_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__RectangularBoard__Group_5__0__Impl


    // $ANTLR start rule__RectangularBoard__Group_5__1
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4217:1: rule__RectangularBoard__Group_5__1 : rule__RectangularBoard__Group_5__1__Impl ;
    public final void rule__RectangularBoard__Group_5__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4221:1: ( rule__RectangularBoard__Group_5__1__Impl )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4222:2: rule__RectangularBoard__Group_5__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__RectangularBoard__Group_5__1__Impl_in_rule__RectangularBoard__Group_5__18342);
            rule__RectangularBoard__Group_5__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__RectangularBoard__Group_5__1


    // $ANTLR start rule__RectangularBoard__Group_5__1__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4228:1: rule__RectangularBoard__Group_5__1__Impl : ( ( rule__RectangularBoard__XAssignment_5_1 ) ) ;
    public final void rule__RectangularBoard__Group_5__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4232:1: ( ( ( rule__RectangularBoard__XAssignment_5_1 ) ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4233:1: ( ( rule__RectangularBoard__XAssignment_5_1 ) )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4233:1: ( ( rule__RectangularBoard__XAssignment_5_1 ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4234:1: ( rule__RectangularBoard__XAssignment_5_1 )
            {
             before(grammarAccess.getRectangularBoardAccess().getXAssignment_5_1()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4235:1: ( rule__RectangularBoard__XAssignment_5_1 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4235:2: rule__RectangularBoard__XAssignment_5_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__RectangularBoard__XAssignment_5_1_in_rule__RectangularBoard__Group_5__1__Impl8369);
            rule__RectangularBoard__XAssignment_5_1();
            _fsp--;


            }

             after(grammarAccess.getRectangularBoardAccess().getXAssignment_5_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__RectangularBoard__Group_5__1__Impl


    // $ANTLR start rule__RectangularBoard__Group_6__0
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4249:1: rule__RectangularBoard__Group_6__0 : rule__RectangularBoard__Group_6__0__Impl rule__RectangularBoard__Group_6__1 ;
    public final void rule__RectangularBoard__Group_6__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4253:1: ( rule__RectangularBoard__Group_6__0__Impl rule__RectangularBoard__Group_6__1 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4254:2: rule__RectangularBoard__Group_6__0__Impl rule__RectangularBoard__Group_6__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__RectangularBoard__Group_6__0__Impl_in_rule__RectangularBoard__Group_6__08403);
            rule__RectangularBoard__Group_6__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__RectangularBoard__Group_6__1_in_rule__RectangularBoard__Group_6__08406);
            rule__RectangularBoard__Group_6__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__RectangularBoard__Group_6__0


    // $ANTLR start rule__RectangularBoard__Group_6__0__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4261:1: rule__RectangularBoard__Group_6__0__Impl : ( 'Y' ) ;
    public final void rule__RectangularBoard__Group_6__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4265:1: ( ( 'Y' ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4266:1: ( 'Y' )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4266:1: ( 'Y' )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4267:1: 'Y'
            {
             before(grammarAccess.getRectangularBoardAccess().getYKeyword_6_0()); 
            match(input,29,FollowSets000.FOLLOW_29_in_rule__RectangularBoard__Group_6__0__Impl8434); 
             after(grammarAccess.getRectangularBoardAccess().getYKeyword_6_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__RectangularBoard__Group_6__0__Impl


    // $ANTLR start rule__RectangularBoard__Group_6__1
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4280:1: rule__RectangularBoard__Group_6__1 : rule__RectangularBoard__Group_6__1__Impl ;
    public final void rule__RectangularBoard__Group_6__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4284:1: ( rule__RectangularBoard__Group_6__1__Impl )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4285:2: rule__RectangularBoard__Group_6__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__RectangularBoard__Group_6__1__Impl_in_rule__RectangularBoard__Group_6__18465);
            rule__RectangularBoard__Group_6__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__RectangularBoard__Group_6__1


    // $ANTLR start rule__RectangularBoard__Group_6__1__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4291:1: rule__RectangularBoard__Group_6__1__Impl : ( ( rule__RectangularBoard__YAssignment_6_1 ) ) ;
    public final void rule__RectangularBoard__Group_6__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4295:1: ( ( ( rule__RectangularBoard__YAssignment_6_1 ) ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4296:1: ( ( rule__RectangularBoard__YAssignment_6_1 ) )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4296:1: ( ( rule__RectangularBoard__YAssignment_6_1 ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4297:1: ( rule__RectangularBoard__YAssignment_6_1 )
            {
             before(grammarAccess.getRectangularBoardAccess().getYAssignment_6_1()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4298:1: ( rule__RectangularBoard__YAssignment_6_1 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4298:2: rule__RectangularBoard__YAssignment_6_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__RectangularBoard__YAssignment_6_1_in_rule__RectangularBoard__Group_6__1__Impl8492);
            rule__RectangularBoard__YAssignment_6_1();
            _fsp--;


            }

             after(grammarAccess.getRectangularBoardAccess().getYAssignment_6_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__RectangularBoard__Group_6__1__Impl


    // $ANTLR start rule__PolygonBoard__Group__0
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4312:1: rule__PolygonBoard__Group__0 : rule__PolygonBoard__Group__0__Impl rule__PolygonBoard__Group__1 ;
    public final void rule__PolygonBoard__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4316:1: ( rule__PolygonBoard__Group__0__Impl rule__PolygonBoard__Group__1 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4317:2: rule__PolygonBoard__Group__0__Impl rule__PolygonBoard__Group__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__PolygonBoard__Group__0__Impl_in_rule__PolygonBoard__Group__08526);
            rule__PolygonBoard__Group__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__PolygonBoard__Group__1_in_rule__PolygonBoard__Group__08529);
            rule__PolygonBoard__Group__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PolygonBoard__Group__0


    // $ANTLR start rule__PolygonBoard__Group__0__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4324:1: rule__PolygonBoard__Group__0__Impl : ( () ) ;
    public final void rule__PolygonBoard__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4328:1: ( ( () ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4329:1: ( () )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4329:1: ( () )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4330:1: ()
            {
             before(grammarAccess.getPolygonBoardAccess().getPolygonBoardAction_0()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4331:1: ()
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4333:1: 
            {
            }

             after(grammarAccess.getPolygonBoardAccess().getPolygonBoardAction_0()); 

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PolygonBoard__Group__0__Impl


    // $ANTLR start rule__PolygonBoard__Group__1
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4343:1: rule__PolygonBoard__Group__1 : rule__PolygonBoard__Group__1__Impl rule__PolygonBoard__Group__2 ;
    public final void rule__PolygonBoard__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4347:1: ( rule__PolygonBoard__Group__1__Impl rule__PolygonBoard__Group__2 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4348:2: rule__PolygonBoard__Group__1__Impl rule__PolygonBoard__Group__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__PolygonBoard__Group__1__Impl_in_rule__PolygonBoard__Group__18587);
            rule__PolygonBoard__Group__1__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__PolygonBoard__Group__2_in_rule__PolygonBoard__Group__18590);
            rule__PolygonBoard__Group__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PolygonBoard__Group__1


    // $ANTLR start rule__PolygonBoard__Group__1__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4355:1: rule__PolygonBoard__Group__1__Impl : ( 'PolygonBoard' ) ;
    public final void rule__PolygonBoard__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4359:1: ( ( 'PolygonBoard' ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4360:1: ( 'PolygonBoard' )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4360:1: ( 'PolygonBoard' )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4361:1: 'PolygonBoard'
            {
             before(grammarAccess.getPolygonBoardAccess().getPolygonBoardKeyword_1()); 
            match(input,41,FollowSets000.FOLLOW_41_in_rule__PolygonBoard__Group__1__Impl8618); 
             after(grammarAccess.getPolygonBoardAccess().getPolygonBoardKeyword_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PolygonBoard__Group__1__Impl


    // $ANTLR start rule__PolygonBoard__Group__2
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4374:1: rule__PolygonBoard__Group__2 : rule__PolygonBoard__Group__2__Impl rule__PolygonBoard__Group__3 ;
    public final void rule__PolygonBoard__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4378:1: ( rule__PolygonBoard__Group__2__Impl rule__PolygonBoard__Group__3 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4379:2: rule__PolygonBoard__Group__2__Impl rule__PolygonBoard__Group__3
            {
            pushFollow(FollowSets000.FOLLOW_rule__PolygonBoard__Group__2__Impl_in_rule__PolygonBoard__Group__28649);
            rule__PolygonBoard__Group__2__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__PolygonBoard__Group__3_in_rule__PolygonBoard__Group__28652);
            rule__PolygonBoard__Group__3();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PolygonBoard__Group__2


    // $ANTLR start rule__PolygonBoard__Group__2__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4386:1: rule__PolygonBoard__Group__2__Impl : ( ( rule__PolygonBoard__NameAssignment_2 ) ) ;
    public final void rule__PolygonBoard__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4390:1: ( ( ( rule__PolygonBoard__NameAssignment_2 ) ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4391:1: ( ( rule__PolygonBoard__NameAssignment_2 ) )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4391:1: ( ( rule__PolygonBoard__NameAssignment_2 ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4392:1: ( rule__PolygonBoard__NameAssignment_2 )
            {
             before(grammarAccess.getPolygonBoardAccess().getNameAssignment_2()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4393:1: ( rule__PolygonBoard__NameAssignment_2 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4393:2: rule__PolygonBoard__NameAssignment_2
            {
            pushFollow(FollowSets000.FOLLOW_rule__PolygonBoard__NameAssignment_2_in_rule__PolygonBoard__Group__2__Impl8679);
            rule__PolygonBoard__NameAssignment_2();
            _fsp--;


            }

             after(grammarAccess.getPolygonBoardAccess().getNameAssignment_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PolygonBoard__Group__2__Impl


    // $ANTLR start rule__PolygonBoard__Group__3
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4403:1: rule__PolygonBoard__Group__3 : rule__PolygonBoard__Group__3__Impl rule__PolygonBoard__Group__4 ;
    public final void rule__PolygonBoard__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4407:1: ( rule__PolygonBoard__Group__3__Impl rule__PolygonBoard__Group__4 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4408:2: rule__PolygonBoard__Group__3__Impl rule__PolygonBoard__Group__4
            {
            pushFollow(FollowSets000.FOLLOW_rule__PolygonBoard__Group__3__Impl_in_rule__PolygonBoard__Group__38709);
            rule__PolygonBoard__Group__3__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__PolygonBoard__Group__4_in_rule__PolygonBoard__Group__38712);
            rule__PolygonBoard__Group__4();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PolygonBoard__Group__3


    // $ANTLR start rule__PolygonBoard__Group__3__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4415:1: rule__PolygonBoard__Group__3__Impl : ( '{' ) ;
    public final void rule__PolygonBoard__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4419:1: ( ( '{' ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4420:1: ( '{' )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4420:1: ( '{' )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4421:1: '{'
            {
             before(grammarAccess.getPolygonBoardAccess().getLeftCurlyBracketKeyword_3()); 
            match(input,17,FollowSets000.FOLLOW_17_in_rule__PolygonBoard__Group__3__Impl8740); 
             after(grammarAccess.getPolygonBoardAccess().getLeftCurlyBracketKeyword_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PolygonBoard__Group__3__Impl


    // $ANTLR start rule__PolygonBoard__Group__4
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4434:1: rule__PolygonBoard__Group__4 : rule__PolygonBoard__Group__4__Impl rule__PolygonBoard__Group__5 ;
    public final void rule__PolygonBoard__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4438:1: ( rule__PolygonBoard__Group__4__Impl rule__PolygonBoard__Group__5 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4439:2: rule__PolygonBoard__Group__4__Impl rule__PolygonBoard__Group__5
            {
            pushFollow(FollowSets000.FOLLOW_rule__PolygonBoard__Group__4__Impl_in_rule__PolygonBoard__Group__48771);
            rule__PolygonBoard__Group__4__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__PolygonBoard__Group__5_in_rule__PolygonBoard__Group__48774);
            rule__PolygonBoard__Group__5();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PolygonBoard__Group__4


    // $ANTLR start rule__PolygonBoard__Group__4__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4446:1: rule__PolygonBoard__Group__4__Impl : ( ( rule__PolygonBoard__Group_4__0 )? ) ;
    public final void rule__PolygonBoard__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4450:1: ( ( ( rule__PolygonBoard__Group_4__0 )? ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4451:1: ( ( rule__PolygonBoard__Group_4__0 )? )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4451:1: ( ( rule__PolygonBoard__Group_4__0 )? )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4452:1: ( rule__PolygonBoard__Group_4__0 )?
            {
             before(grammarAccess.getPolygonBoardAccess().getGroup_4()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4453:1: ( rule__PolygonBoard__Group_4__0 )?
            int alt31=2;
            int LA31_0 = input.LA(1);

            if ( (LA31_0==40) ) {
                alt31=1;
            }
            switch (alt31) {
                case 1 :
                    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4453:2: rule__PolygonBoard__Group_4__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__PolygonBoard__Group_4__0_in_rule__PolygonBoard__Group__4__Impl8801);
                    rule__PolygonBoard__Group_4__0();
                    _fsp--;


                    }
                    break;

            }

             after(grammarAccess.getPolygonBoardAccess().getGroup_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PolygonBoard__Group__4__Impl


    // $ANTLR start rule__PolygonBoard__Group__5
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4463:1: rule__PolygonBoard__Group__5 : rule__PolygonBoard__Group__5__Impl rule__PolygonBoard__Group__6 ;
    public final void rule__PolygonBoard__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4467:1: ( rule__PolygonBoard__Group__5__Impl rule__PolygonBoard__Group__6 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4468:2: rule__PolygonBoard__Group__5__Impl rule__PolygonBoard__Group__6
            {
            pushFollow(FollowSets000.FOLLOW_rule__PolygonBoard__Group__5__Impl_in_rule__PolygonBoard__Group__58832);
            rule__PolygonBoard__Group__5__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__PolygonBoard__Group__6_in_rule__PolygonBoard__Group__58835);
            rule__PolygonBoard__Group__6();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PolygonBoard__Group__5


    // $ANTLR start rule__PolygonBoard__Group__5__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4475:1: rule__PolygonBoard__Group__5__Impl : ( ( rule__PolygonBoard__Group_5__0 )? ) ;
    public final void rule__PolygonBoard__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4479:1: ( ( ( rule__PolygonBoard__Group_5__0 )? ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4480:1: ( ( rule__PolygonBoard__Group_5__0 )? )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4480:1: ( ( rule__PolygonBoard__Group_5__0 )? )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4481:1: ( rule__PolygonBoard__Group_5__0 )?
            {
             before(grammarAccess.getPolygonBoardAccess().getGroup_5()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4482:1: ( rule__PolygonBoard__Group_5__0 )?
            int alt32=2;
            int LA32_0 = input.LA(1);

            if ( (LA32_0==42) ) {
                alt32=1;
            }
            switch (alt32) {
                case 1 :
                    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4482:2: rule__PolygonBoard__Group_5__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__PolygonBoard__Group_5__0_in_rule__PolygonBoard__Group__5__Impl8862);
                    rule__PolygonBoard__Group_5__0();
                    _fsp--;


                    }
                    break;

            }

             after(grammarAccess.getPolygonBoardAccess().getGroup_5()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PolygonBoard__Group__5__Impl


    // $ANTLR start rule__PolygonBoard__Group__6
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4492:1: rule__PolygonBoard__Group__6 : rule__PolygonBoard__Group__6__Impl ;
    public final void rule__PolygonBoard__Group__6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4496:1: ( rule__PolygonBoard__Group__6__Impl )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4497:2: rule__PolygonBoard__Group__6__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__PolygonBoard__Group__6__Impl_in_rule__PolygonBoard__Group__68893);
            rule__PolygonBoard__Group__6__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PolygonBoard__Group__6


    // $ANTLR start rule__PolygonBoard__Group__6__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4503:1: rule__PolygonBoard__Group__6__Impl : ( '}' ) ;
    public final void rule__PolygonBoard__Group__6__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4507:1: ( ( '}' ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4508:1: ( '}' )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4508:1: ( '}' )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4509:1: '}'
            {
             before(grammarAccess.getPolygonBoardAccess().getRightCurlyBracketKeyword_6()); 
            match(input,18,FollowSets000.FOLLOW_18_in_rule__PolygonBoard__Group__6__Impl8921); 
             after(grammarAccess.getPolygonBoardAccess().getRightCurlyBracketKeyword_6()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PolygonBoard__Group__6__Impl


    // $ANTLR start rule__PolygonBoard__Group_4__0
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4536:1: rule__PolygonBoard__Group_4__0 : rule__PolygonBoard__Group_4__0__Impl rule__PolygonBoard__Group_4__1 ;
    public final void rule__PolygonBoard__Group_4__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4540:1: ( rule__PolygonBoard__Group_4__0__Impl rule__PolygonBoard__Group_4__1 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4541:2: rule__PolygonBoard__Group_4__0__Impl rule__PolygonBoard__Group_4__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__PolygonBoard__Group_4__0__Impl_in_rule__PolygonBoard__Group_4__08966);
            rule__PolygonBoard__Group_4__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__PolygonBoard__Group_4__1_in_rule__PolygonBoard__Group_4__08969);
            rule__PolygonBoard__Group_4__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PolygonBoard__Group_4__0


    // $ANTLR start rule__PolygonBoard__Group_4__0__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4548:1: rule__PolygonBoard__Group_4__0__Impl : ( 'thickness' ) ;
    public final void rule__PolygonBoard__Group_4__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4552:1: ( ( 'thickness' ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4553:1: ( 'thickness' )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4553:1: ( 'thickness' )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4554:1: 'thickness'
            {
             before(grammarAccess.getPolygonBoardAccess().getThicknessKeyword_4_0()); 
            match(input,40,FollowSets000.FOLLOW_40_in_rule__PolygonBoard__Group_4__0__Impl8997); 
             after(grammarAccess.getPolygonBoardAccess().getThicknessKeyword_4_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PolygonBoard__Group_4__0__Impl


    // $ANTLR start rule__PolygonBoard__Group_4__1
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4567:1: rule__PolygonBoard__Group_4__1 : rule__PolygonBoard__Group_4__1__Impl ;
    public final void rule__PolygonBoard__Group_4__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4571:1: ( rule__PolygonBoard__Group_4__1__Impl )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4572:2: rule__PolygonBoard__Group_4__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__PolygonBoard__Group_4__1__Impl_in_rule__PolygonBoard__Group_4__19028);
            rule__PolygonBoard__Group_4__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PolygonBoard__Group_4__1


    // $ANTLR start rule__PolygonBoard__Group_4__1__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4578:1: rule__PolygonBoard__Group_4__1__Impl : ( ( rule__PolygonBoard__ThicknessAssignment_4_1 ) ) ;
    public final void rule__PolygonBoard__Group_4__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4582:1: ( ( ( rule__PolygonBoard__ThicknessAssignment_4_1 ) ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4583:1: ( ( rule__PolygonBoard__ThicknessAssignment_4_1 ) )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4583:1: ( ( rule__PolygonBoard__ThicknessAssignment_4_1 ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4584:1: ( rule__PolygonBoard__ThicknessAssignment_4_1 )
            {
             before(grammarAccess.getPolygonBoardAccess().getThicknessAssignment_4_1()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4585:1: ( rule__PolygonBoard__ThicknessAssignment_4_1 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4585:2: rule__PolygonBoard__ThicknessAssignment_4_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__PolygonBoard__ThicknessAssignment_4_1_in_rule__PolygonBoard__Group_4__1__Impl9055);
            rule__PolygonBoard__ThicknessAssignment_4_1();
            _fsp--;


            }

             after(grammarAccess.getPolygonBoardAccess().getThicknessAssignment_4_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PolygonBoard__Group_4__1__Impl


    // $ANTLR start rule__PolygonBoard__Group_5__0
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4599:1: rule__PolygonBoard__Group_5__0 : rule__PolygonBoard__Group_5__0__Impl rule__PolygonBoard__Group_5__1 ;
    public final void rule__PolygonBoard__Group_5__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4603:1: ( rule__PolygonBoard__Group_5__0__Impl rule__PolygonBoard__Group_5__1 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4604:2: rule__PolygonBoard__Group_5__0__Impl rule__PolygonBoard__Group_5__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__PolygonBoard__Group_5__0__Impl_in_rule__PolygonBoard__Group_5__09089);
            rule__PolygonBoard__Group_5__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__PolygonBoard__Group_5__1_in_rule__PolygonBoard__Group_5__09092);
            rule__PolygonBoard__Group_5__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PolygonBoard__Group_5__0


    // $ANTLR start rule__PolygonBoard__Group_5__0__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4611:1: rule__PolygonBoard__Group_5__0__Impl : ( 'points' ) ;
    public final void rule__PolygonBoard__Group_5__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4615:1: ( ( 'points' ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4616:1: ( 'points' )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4616:1: ( 'points' )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4617:1: 'points'
            {
             before(grammarAccess.getPolygonBoardAccess().getPointsKeyword_5_0()); 
            match(input,42,FollowSets000.FOLLOW_42_in_rule__PolygonBoard__Group_5__0__Impl9120); 
             after(grammarAccess.getPolygonBoardAccess().getPointsKeyword_5_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PolygonBoard__Group_5__0__Impl


    // $ANTLR start rule__PolygonBoard__Group_5__1
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4630:1: rule__PolygonBoard__Group_5__1 : rule__PolygonBoard__Group_5__1__Impl rule__PolygonBoard__Group_5__2 ;
    public final void rule__PolygonBoard__Group_5__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4634:1: ( rule__PolygonBoard__Group_5__1__Impl rule__PolygonBoard__Group_5__2 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4635:2: rule__PolygonBoard__Group_5__1__Impl rule__PolygonBoard__Group_5__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__PolygonBoard__Group_5__1__Impl_in_rule__PolygonBoard__Group_5__19151);
            rule__PolygonBoard__Group_5__1__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__PolygonBoard__Group_5__2_in_rule__PolygonBoard__Group_5__19154);
            rule__PolygonBoard__Group_5__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PolygonBoard__Group_5__1


    // $ANTLR start rule__PolygonBoard__Group_5__1__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4642:1: rule__PolygonBoard__Group_5__1__Impl : ( '{' ) ;
    public final void rule__PolygonBoard__Group_5__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4646:1: ( ( '{' ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4647:1: ( '{' )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4647:1: ( '{' )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4648:1: '{'
            {
             before(grammarAccess.getPolygonBoardAccess().getLeftCurlyBracketKeyword_5_1()); 
            match(input,17,FollowSets000.FOLLOW_17_in_rule__PolygonBoard__Group_5__1__Impl9182); 
             after(grammarAccess.getPolygonBoardAccess().getLeftCurlyBracketKeyword_5_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PolygonBoard__Group_5__1__Impl


    // $ANTLR start rule__PolygonBoard__Group_5__2
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4661:1: rule__PolygonBoard__Group_5__2 : rule__PolygonBoard__Group_5__2__Impl rule__PolygonBoard__Group_5__3 ;
    public final void rule__PolygonBoard__Group_5__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4665:1: ( rule__PolygonBoard__Group_5__2__Impl rule__PolygonBoard__Group_5__3 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4666:2: rule__PolygonBoard__Group_5__2__Impl rule__PolygonBoard__Group_5__3
            {
            pushFollow(FollowSets000.FOLLOW_rule__PolygonBoard__Group_5__2__Impl_in_rule__PolygonBoard__Group_5__29213);
            rule__PolygonBoard__Group_5__2__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__PolygonBoard__Group_5__3_in_rule__PolygonBoard__Group_5__29216);
            rule__PolygonBoard__Group_5__3();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PolygonBoard__Group_5__2


    // $ANTLR start rule__PolygonBoard__Group_5__2__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4673:1: rule__PolygonBoard__Group_5__2__Impl : ( ( rule__PolygonBoard__PointsAssignment_5_2 ) ) ;
    public final void rule__PolygonBoard__Group_5__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4677:1: ( ( ( rule__PolygonBoard__PointsAssignment_5_2 ) ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4678:1: ( ( rule__PolygonBoard__PointsAssignment_5_2 ) )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4678:1: ( ( rule__PolygonBoard__PointsAssignment_5_2 ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4679:1: ( rule__PolygonBoard__PointsAssignment_5_2 )
            {
             before(grammarAccess.getPolygonBoardAccess().getPointsAssignment_5_2()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4680:1: ( rule__PolygonBoard__PointsAssignment_5_2 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4680:2: rule__PolygonBoard__PointsAssignment_5_2
            {
            pushFollow(FollowSets000.FOLLOW_rule__PolygonBoard__PointsAssignment_5_2_in_rule__PolygonBoard__Group_5__2__Impl9243);
            rule__PolygonBoard__PointsAssignment_5_2();
            _fsp--;


            }

             after(grammarAccess.getPolygonBoardAccess().getPointsAssignment_5_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PolygonBoard__Group_5__2__Impl


    // $ANTLR start rule__PolygonBoard__Group_5__3
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4690:1: rule__PolygonBoard__Group_5__3 : rule__PolygonBoard__Group_5__3__Impl rule__PolygonBoard__Group_5__4 ;
    public final void rule__PolygonBoard__Group_5__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4694:1: ( rule__PolygonBoard__Group_5__3__Impl rule__PolygonBoard__Group_5__4 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4695:2: rule__PolygonBoard__Group_5__3__Impl rule__PolygonBoard__Group_5__4
            {
            pushFollow(FollowSets000.FOLLOW_rule__PolygonBoard__Group_5__3__Impl_in_rule__PolygonBoard__Group_5__39273);
            rule__PolygonBoard__Group_5__3__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__PolygonBoard__Group_5__4_in_rule__PolygonBoard__Group_5__39276);
            rule__PolygonBoard__Group_5__4();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PolygonBoard__Group_5__3


    // $ANTLR start rule__PolygonBoard__Group_5__3__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4702:1: rule__PolygonBoard__Group_5__3__Impl : ( ( rule__PolygonBoard__Group_5_3__0 )* ) ;
    public final void rule__PolygonBoard__Group_5__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4706:1: ( ( ( rule__PolygonBoard__Group_5_3__0 )* ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4707:1: ( ( rule__PolygonBoard__Group_5_3__0 )* )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4707:1: ( ( rule__PolygonBoard__Group_5_3__0 )* )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4708:1: ( rule__PolygonBoard__Group_5_3__0 )*
            {
             before(grammarAccess.getPolygonBoardAccess().getGroup_5_3()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4709:1: ( rule__PolygonBoard__Group_5_3__0 )*
            loop33:
            do {
                int alt33=2;
                int LA33_0 = input.LA(1);

                if ( (LA33_0==20) ) {
                    alt33=1;
                }


                switch (alt33) {
            	case 1 :
            	    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4709:2: rule__PolygonBoard__Group_5_3__0
            	    {
            	    pushFollow(FollowSets000.FOLLOW_rule__PolygonBoard__Group_5_3__0_in_rule__PolygonBoard__Group_5__3__Impl9303);
            	    rule__PolygonBoard__Group_5_3__0();
            	    _fsp--;


            	    }
            	    break;

            	default :
            	    break loop33;
                }
            } while (true);

             after(grammarAccess.getPolygonBoardAccess().getGroup_5_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PolygonBoard__Group_5__3__Impl


    // $ANTLR start rule__PolygonBoard__Group_5__4
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4719:1: rule__PolygonBoard__Group_5__4 : rule__PolygonBoard__Group_5__4__Impl ;
    public final void rule__PolygonBoard__Group_5__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4723:1: ( rule__PolygonBoard__Group_5__4__Impl )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4724:2: rule__PolygonBoard__Group_5__4__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__PolygonBoard__Group_5__4__Impl_in_rule__PolygonBoard__Group_5__49334);
            rule__PolygonBoard__Group_5__4__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PolygonBoard__Group_5__4


    // $ANTLR start rule__PolygonBoard__Group_5__4__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4730:1: rule__PolygonBoard__Group_5__4__Impl : ( '}' ) ;
    public final void rule__PolygonBoard__Group_5__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4734:1: ( ( '}' ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4735:1: ( '}' )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4735:1: ( '}' )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4736:1: '}'
            {
             before(grammarAccess.getPolygonBoardAccess().getRightCurlyBracketKeyword_5_4()); 
            match(input,18,FollowSets000.FOLLOW_18_in_rule__PolygonBoard__Group_5__4__Impl9362); 
             after(grammarAccess.getPolygonBoardAccess().getRightCurlyBracketKeyword_5_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PolygonBoard__Group_5__4__Impl


    // $ANTLR start rule__PolygonBoard__Group_5_3__0
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4759:1: rule__PolygonBoard__Group_5_3__0 : rule__PolygonBoard__Group_5_3__0__Impl rule__PolygonBoard__Group_5_3__1 ;
    public final void rule__PolygonBoard__Group_5_3__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4763:1: ( rule__PolygonBoard__Group_5_3__0__Impl rule__PolygonBoard__Group_5_3__1 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4764:2: rule__PolygonBoard__Group_5_3__0__Impl rule__PolygonBoard__Group_5_3__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__PolygonBoard__Group_5_3__0__Impl_in_rule__PolygonBoard__Group_5_3__09403);
            rule__PolygonBoard__Group_5_3__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__PolygonBoard__Group_5_3__1_in_rule__PolygonBoard__Group_5_3__09406);
            rule__PolygonBoard__Group_5_3__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PolygonBoard__Group_5_3__0


    // $ANTLR start rule__PolygonBoard__Group_5_3__0__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4771:1: rule__PolygonBoard__Group_5_3__0__Impl : ( ',' ) ;
    public final void rule__PolygonBoard__Group_5_3__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4775:1: ( ( ',' ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4776:1: ( ',' )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4776:1: ( ',' )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4777:1: ','
            {
             before(grammarAccess.getPolygonBoardAccess().getCommaKeyword_5_3_0()); 
            match(input,20,FollowSets000.FOLLOW_20_in_rule__PolygonBoard__Group_5_3__0__Impl9434); 
             after(grammarAccess.getPolygonBoardAccess().getCommaKeyword_5_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PolygonBoard__Group_5_3__0__Impl


    // $ANTLR start rule__PolygonBoard__Group_5_3__1
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4790:1: rule__PolygonBoard__Group_5_3__1 : rule__PolygonBoard__Group_5_3__1__Impl ;
    public final void rule__PolygonBoard__Group_5_3__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4794:1: ( rule__PolygonBoard__Group_5_3__1__Impl )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4795:2: rule__PolygonBoard__Group_5_3__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__PolygonBoard__Group_5_3__1__Impl_in_rule__PolygonBoard__Group_5_3__19465);
            rule__PolygonBoard__Group_5_3__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PolygonBoard__Group_5_3__1


    // $ANTLR start rule__PolygonBoard__Group_5_3__1__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4801:1: rule__PolygonBoard__Group_5_3__1__Impl : ( ( rule__PolygonBoard__PointsAssignment_5_3_1 ) ) ;
    public final void rule__PolygonBoard__Group_5_3__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4805:1: ( ( ( rule__PolygonBoard__PointsAssignment_5_3_1 ) ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4806:1: ( ( rule__PolygonBoard__PointsAssignment_5_3_1 ) )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4806:1: ( ( rule__PolygonBoard__PointsAssignment_5_3_1 ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4807:1: ( rule__PolygonBoard__PointsAssignment_5_3_1 )
            {
             before(grammarAccess.getPolygonBoardAccess().getPointsAssignment_5_3_1()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4808:1: ( rule__PolygonBoard__PointsAssignment_5_3_1 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4808:2: rule__PolygonBoard__PointsAssignment_5_3_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__PolygonBoard__PointsAssignment_5_3_1_in_rule__PolygonBoard__Group_5_3__1__Impl9492);
            rule__PolygonBoard__PointsAssignment_5_3_1();
            _fsp--;


            }

             after(grammarAccess.getPolygonBoardAccess().getPointsAssignment_5_3_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PolygonBoard__Group_5_3__1__Impl


    // $ANTLR start rule__Point__Group__0
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4822:1: rule__Point__Group__0 : rule__Point__Group__0__Impl rule__Point__Group__1 ;
    public final void rule__Point__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4826:1: ( rule__Point__Group__0__Impl rule__Point__Group__1 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4827:2: rule__Point__Group__0__Impl rule__Point__Group__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__Point__Group__0__Impl_in_rule__Point__Group__09526);
            rule__Point__Group__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Point__Group__1_in_rule__Point__Group__09529);
            rule__Point__Group__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Point__Group__0


    // $ANTLR start rule__Point__Group__0__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4834:1: rule__Point__Group__0__Impl : ( () ) ;
    public final void rule__Point__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4838:1: ( ( () ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4839:1: ( () )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4839:1: ( () )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4840:1: ()
            {
             before(grammarAccess.getPointAccess().getPointAction_0()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4841:1: ()
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4843:1: 
            {
            }

             after(grammarAccess.getPointAccess().getPointAction_0()); 

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Point__Group__0__Impl


    // $ANTLR start rule__Point__Group__1
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4853:1: rule__Point__Group__1 : rule__Point__Group__1__Impl rule__Point__Group__2 ;
    public final void rule__Point__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4857:1: ( rule__Point__Group__1__Impl rule__Point__Group__2 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4858:2: rule__Point__Group__1__Impl rule__Point__Group__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__Point__Group__1__Impl_in_rule__Point__Group__19587);
            rule__Point__Group__1__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Point__Group__2_in_rule__Point__Group__19590);
            rule__Point__Group__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Point__Group__1


    // $ANTLR start rule__Point__Group__1__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4865:1: rule__Point__Group__1__Impl : ( 'Point' ) ;
    public final void rule__Point__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4869:1: ( ( 'Point' ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4870:1: ( 'Point' )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4870:1: ( 'Point' )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4871:1: 'Point'
            {
             before(grammarAccess.getPointAccess().getPointKeyword_1()); 
            match(input,43,FollowSets000.FOLLOW_43_in_rule__Point__Group__1__Impl9618); 
             after(grammarAccess.getPointAccess().getPointKeyword_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Point__Group__1__Impl


    // $ANTLR start rule__Point__Group__2
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4884:1: rule__Point__Group__2 : rule__Point__Group__2__Impl rule__Point__Group__3 ;
    public final void rule__Point__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4888:1: ( rule__Point__Group__2__Impl rule__Point__Group__3 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4889:2: rule__Point__Group__2__Impl rule__Point__Group__3
            {
            pushFollow(FollowSets000.FOLLOW_rule__Point__Group__2__Impl_in_rule__Point__Group__29649);
            rule__Point__Group__2__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Point__Group__3_in_rule__Point__Group__29652);
            rule__Point__Group__3();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Point__Group__2


    // $ANTLR start rule__Point__Group__2__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4896:1: rule__Point__Group__2__Impl : ( '{' ) ;
    public final void rule__Point__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4900:1: ( ( '{' ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4901:1: ( '{' )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4901:1: ( '{' )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4902:1: '{'
            {
             before(grammarAccess.getPointAccess().getLeftCurlyBracketKeyword_2()); 
            match(input,17,FollowSets000.FOLLOW_17_in_rule__Point__Group__2__Impl9680); 
             after(grammarAccess.getPointAccess().getLeftCurlyBracketKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Point__Group__2__Impl


    // $ANTLR start rule__Point__Group__3
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4915:1: rule__Point__Group__3 : rule__Point__Group__3__Impl rule__Point__Group__4 ;
    public final void rule__Point__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4919:1: ( rule__Point__Group__3__Impl rule__Point__Group__4 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4920:2: rule__Point__Group__3__Impl rule__Point__Group__4
            {
            pushFollow(FollowSets000.FOLLOW_rule__Point__Group__3__Impl_in_rule__Point__Group__39711);
            rule__Point__Group__3__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Point__Group__4_in_rule__Point__Group__39714);
            rule__Point__Group__4();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Point__Group__3


    // $ANTLR start rule__Point__Group__3__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4927:1: rule__Point__Group__3__Impl : ( ( rule__Point__Group_3__0 )? ) ;
    public final void rule__Point__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4931:1: ( ( ( rule__Point__Group_3__0 )? ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4932:1: ( ( rule__Point__Group_3__0 )? )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4932:1: ( ( rule__Point__Group_3__0 )? )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4933:1: ( rule__Point__Group_3__0 )?
            {
             before(grammarAccess.getPointAccess().getGroup_3()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4934:1: ( rule__Point__Group_3__0 )?
            int alt34=2;
            int LA34_0 = input.LA(1);

            if ( (LA34_0==28) ) {
                alt34=1;
            }
            switch (alt34) {
                case 1 :
                    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4934:2: rule__Point__Group_3__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__Point__Group_3__0_in_rule__Point__Group__3__Impl9741);
                    rule__Point__Group_3__0();
                    _fsp--;


                    }
                    break;

            }

             after(grammarAccess.getPointAccess().getGroup_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Point__Group__3__Impl


    // $ANTLR start rule__Point__Group__4
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4944:1: rule__Point__Group__4 : rule__Point__Group__4__Impl rule__Point__Group__5 ;
    public final void rule__Point__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4948:1: ( rule__Point__Group__4__Impl rule__Point__Group__5 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4949:2: rule__Point__Group__4__Impl rule__Point__Group__5
            {
            pushFollow(FollowSets000.FOLLOW_rule__Point__Group__4__Impl_in_rule__Point__Group__49772);
            rule__Point__Group__4__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Point__Group__5_in_rule__Point__Group__49775);
            rule__Point__Group__5();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Point__Group__4


    // $ANTLR start rule__Point__Group__4__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4956:1: rule__Point__Group__4__Impl : ( ( rule__Point__Group_4__0 )? ) ;
    public final void rule__Point__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4960:1: ( ( ( rule__Point__Group_4__0 )? ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4961:1: ( ( rule__Point__Group_4__0 )? )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4961:1: ( ( rule__Point__Group_4__0 )? )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4962:1: ( rule__Point__Group_4__0 )?
            {
             before(grammarAccess.getPointAccess().getGroup_4()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4963:1: ( rule__Point__Group_4__0 )?
            int alt35=2;
            int LA35_0 = input.LA(1);

            if ( (LA35_0==29) ) {
                alt35=1;
            }
            switch (alt35) {
                case 1 :
                    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4963:2: rule__Point__Group_4__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__Point__Group_4__0_in_rule__Point__Group__4__Impl9802);
                    rule__Point__Group_4__0();
                    _fsp--;


                    }
                    break;

            }

             after(grammarAccess.getPointAccess().getGroup_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Point__Group__4__Impl


    // $ANTLR start rule__Point__Group__5
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4973:1: rule__Point__Group__5 : rule__Point__Group__5__Impl ;
    public final void rule__Point__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4977:1: ( rule__Point__Group__5__Impl )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4978:2: rule__Point__Group__5__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__Point__Group__5__Impl_in_rule__Point__Group__59833);
            rule__Point__Group__5__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Point__Group__5


    // $ANTLR start rule__Point__Group__5__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4984:1: rule__Point__Group__5__Impl : ( '}' ) ;
    public final void rule__Point__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4988:1: ( ( '}' ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4989:1: ( '}' )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4989:1: ( '}' )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:4990:1: '}'
            {
             before(grammarAccess.getPointAccess().getRightCurlyBracketKeyword_5()); 
            match(input,18,FollowSets000.FOLLOW_18_in_rule__Point__Group__5__Impl9861); 
             after(grammarAccess.getPointAccess().getRightCurlyBracketKeyword_5()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Point__Group__5__Impl


    // $ANTLR start rule__Point__Group_3__0
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5015:1: rule__Point__Group_3__0 : rule__Point__Group_3__0__Impl rule__Point__Group_3__1 ;
    public final void rule__Point__Group_3__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5019:1: ( rule__Point__Group_3__0__Impl rule__Point__Group_3__1 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5020:2: rule__Point__Group_3__0__Impl rule__Point__Group_3__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__Point__Group_3__0__Impl_in_rule__Point__Group_3__09904);
            rule__Point__Group_3__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Point__Group_3__1_in_rule__Point__Group_3__09907);
            rule__Point__Group_3__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Point__Group_3__0


    // $ANTLR start rule__Point__Group_3__0__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5027:1: rule__Point__Group_3__0__Impl : ( 'X' ) ;
    public final void rule__Point__Group_3__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5031:1: ( ( 'X' ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5032:1: ( 'X' )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5032:1: ( 'X' )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5033:1: 'X'
            {
             before(grammarAccess.getPointAccess().getXKeyword_3_0()); 
            match(input,28,FollowSets000.FOLLOW_28_in_rule__Point__Group_3__0__Impl9935); 
             after(grammarAccess.getPointAccess().getXKeyword_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Point__Group_3__0__Impl


    // $ANTLR start rule__Point__Group_3__1
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5046:1: rule__Point__Group_3__1 : rule__Point__Group_3__1__Impl ;
    public final void rule__Point__Group_3__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5050:1: ( rule__Point__Group_3__1__Impl )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5051:2: rule__Point__Group_3__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__Point__Group_3__1__Impl_in_rule__Point__Group_3__19966);
            rule__Point__Group_3__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Point__Group_3__1


    // $ANTLR start rule__Point__Group_3__1__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5057:1: rule__Point__Group_3__1__Impl : ( ( rule__Point__XAssignment_3_1 ) ) ;
    public final void rule__Point__Group_3__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5061:1: ( ( ( rule__Point__XAssignment_3_1 ) ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5062:1: ( ( rule__Point__XAssignment_3_1 ) )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5062:1: ( ( rule__Point__XAssignment_3_1 ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5063:1: ( rule__Point__XAssignment_3_1 )
            {
             before(grammarAccess.getPointAccess().getXAssignment_3_1()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5064:1: ( rule__Point__XAssignment_3_1 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5064:2: rule__Point__XAssignment_3_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__Point__XAssignment_3_1_in_rule__Point__Group_3__1__Impl9993);
            rule__Point__XAssignment_3_1();
            _fsp--;


            }

             after(grammarAccess.getPointAccess().getXAssignment_3_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Point__Group_3__1__Impl


    // $ANTLR start rule__Point__Group_4__0
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5078:1: rule__Point__Group_4__0 : rule__Point__Group_4__0__Impl rule__Point__Group_4__1 ;
    public final void rule__Point__Group_4__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5082:1: ( rule__Point__Group_4__0__Impl rule__Point__Group_4__1 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5083:2: rule__Point__Group_4__0__Impl rule__Point__Group_4__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__Point__Group_4__0__Impl_in_rule__Point__Group_4__010027);
            rule__Point__Group_4__0__Impl();
            _fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Point__Group_4__1_in_rule__Point__Group_4__010030);
            rule__Point__Group_4__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Point__Group_4__0


    // $ANTLR start rule__Point__Group_4__0__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5090:1: rule__Point__Group_4__0__Impl : ( 'Y' ) ;
    public final void rule__Point__Group_4__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5094:1: ( ( 'Y' ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5095:1: ( 'Y' )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5095:1: ( 'Y' )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5096:1: 'Y'
            {
             before(grammarAccess.getPointAccess().getYKeyword_4_0()); 
            match(input,29,FollowSets000.FOLLOW_29_in_rule__Point__Group_4__0__Impl10058); 
             after(grammarAccess.getPointAccess().getYKeyword_4_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Point__Group_4__0__Impl


    // $ANTLR start rule__Point__Group_4__1
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5109:1: rule__Point__Group_4__1 : rule__Point__Group_4__1__Impl ;
    public final void rule__Point__Group_4__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5113:1: ( rule__Point__Group_4__1__Impl )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5114:2: rule__Point__Group_4__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__Point__Group_4__1__Impl_in_rule__Point__Group_4__110089);
            rule__Point__Group_4__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Point__Group_4__1


    // $ANTLR start rule__Point__Group_4__1__Impl
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5120:1: rule__Point__Group_4__1__Impl : ( ( rule__Point__YAssignment_4_1 ) ) ;
    public final void rule__Point__Group_4__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5124:1: ( ( ( rule__Point__YAssignment_4_1 ) ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5125:1: ( ( rule__Point__YAssignment_4_1 ) )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5125:1: ( ( rule__Point__YAssignment_4_1 ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5126:1: ( rule__Point__YAssignment_4_1 )
            {
             before(grammarAccess.getPointAccess().getYAssignment_4_1()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5127:1: ( rule__Point__YAssignment_4_1 )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5127:2: rule__Point__YAssignment_4_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__Point__YAssignment_4_1_in_rule__Point__Group_4__1__Impl10116);
            rule__Point__YAssignment_4_1();
            _fsp--;


            }

             after(grammarAccess.getPointAccess().getYAssignment_4_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Point__Group_4__1__Impl


    // $ANTLR start rule__Furniture__VarsAssignment_3_2
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5142:1: rule__Furniture__VarsAssignment_3_2 : ( ruleNamedValue ) ;
    public final void rule__Furniture__VarsAssignment_3_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5146:1: ( ( ruleNamedValue ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5147:1: ( ruleNamedValue )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5147:1: ( ruleNamedValue )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5148:1: ruleNamedValue
            {
             before(grammarAccess.getFurnitureAccess().getVarsNamedValueParserRuleCall_3_2_0()); 
            pushFollow(FollowSets000.FOLLOW_ruleNamedValue_in_rule__Furniture__VarsAssignment_3_210155);
            ruleNamedValue();
            _fsp--;

             after(grammarAccess.getFurnitureAccess().getVarsNamedValueParserRuleCall_3_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Furniture__VarsAssignment_3_2


    // $ANTLR start rule__Furniture__VarsAssignment_3_3_1
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5157:1: rule__Furniture__VarsAssignment_3_3_1 : ( ruleNamedValue ) ;
    public final void rule__Furniture__VarsAssignment_3_3_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5161:1: ( ( ruleNamedValue ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5162:1: ( ruleNamedValue )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5162:1: ( ruleNamedValue )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5163:1: ruleNamedValue
            {
             before(grammarAccess.getFurnitureAccess().getVarsNamedValueParserRuleCall_3_3_1_0()); 
            pushFollow(FollowSets000.FOLLOW_ruleNamedValue_in_rule__Furniture__VarsAssignment_3_3_110186);
            ruleNamedValue();
            _fsp--;

             after(grammarAccess.getFurnitureAccess().getVarsNamedValueParserRuleCall_3_3_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Furniture__VarsAssignment_3_3_1


    // $ANTLR start rule__Furniture__BoardsAssignment_4_2
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5172:1: rule__Furniture__BoardsAssignment_4_2 : ( ruleBoard ) ;
    public final void rule__Furniture__BoardsAssignment_4_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5176:1: ( ( ruleBoard ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5177:1: ( ruleBoard )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5177:1: ( ruleBoard )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5178:1: ruleBoard
            {
             before(grammarAccess.getFurnitureAccess().getBoardsBoardParserRuleCall_4_2_0()); 
            pushFollow(FollowSets000.FOLLOW_ruleBoard_in_rule__Furniture__BoardsAssignment_4_210217);
            ruleBoard();
            _fsp--;

             after(grammarAccess.getFurnitureAccess().getBoardsBoardParserRuleCall_4_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Furniture__BoardsAssignment_4_2


    // $ANTLR start rule__Furniture__BoardsAssignment_4_3_1
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5187:1: rule__Furniture__BoardsAssignment_4_3_1 : ( ruleBoard ) ;
    public final void rule__Furniture__BoardsAssignment_4_3_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5191:1: ( ( ruleBoard ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5192:1: ( ruleBoard )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5192:1: ( ruleBoard )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5193:1: ruleBoard
            {
             before(grammarAccess.getFurnitureAccess().getBoardsBoardParserRuleCall_4_3_1_0()); 
            pushFollow(FollowSets000.FOLLOW_ruleBoard_in_rule__Furniture__BoardsAssignment_4_3_110248);
            ruleBoard();
            _fsp--;

             after(grammarAccess.getFurnitureAccess().getBoardsBoardParserRuleCall_4_3_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Furniture__BoardsAssignment_4_3_1


    // $ANTLR start rule__Furniture__PartsAssignment_5_2
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5202:1: rule__Furniture__PartsAssignment_5_2 : ( rulePart ) ;
    public final void rule__Furniture__PartsAssignment_5_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5206:1: ( ( rulePart ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5207:1: ( rulePart )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5207:1: ( rulePart )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5208:1: rulePart
            {
             before(grammarAccess.getFurnitureAccess().getPartsPartParserRuleCall_5_2_0()); 
            pushFollow(FollowSets000.FOLLOW_rulePart_in_rule__Furniture__PartsAssignment_5_210279);
            rulePart();
            _fsp--;

             after(grammarAccess.getFurnitureAccess().getPartsPartParserRuleCall_5_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Furniture__PartsAssignment_5_2


    // $ANTLR start rule__Furniture__PartsAssignment_5_3_1
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5217:1: rule__Furniture__PartsAssignment_5_3_1 : ( rulePart ) ;
    public final void rule__Furniture__PartsAssignment_5_3_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5221:1: ( ( rulePart ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5222:1: ( rulePart )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5222:1: ( rulePart )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5223:1: rulePart
            {
             before(grammarAccess.getFurnitureAccess().getPartsPartParserRuleCall_5_3_1_0()); 
            pushFollow(FollowSets000.FOLLOW_rulePart_in_rule__Furniture__PartsAssignment_5_3_110310);
            rulePart();
            _fsp--;

             after(grammarAccess.getFurnitureAccess().getPartsPartParserRuleCall_5_3_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Furniture__PartsAssignment_5_3_1


    // $ANTLR start rule__NamedValue__NameAssignment_2
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5232:1: rule__NamedValue__NameAssignment_2 : ( ruleEString ) ;
    public final void rule__NamedValue__NameAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5236:1: ( ( ruleEString ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5237:1: ( ruleEString )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5237:1: ( ruleEString )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5238:1: ruleEString
            {
             before(grammarAccess.getNamedValueAccess().getNameEStringParserRuleCall_2_0()); 
            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__NamedValue__NameAssignment_210341);
            ruleEString();
            _fsp--;

             after(grammarAccess.getNamedValueAccess().getNameEStringParserRuleCall_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__NamedValue__NameAssignment_2


    // $ANTLR start rule__NamedValue__ValueAssignment_4_1
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5247:1: rule__NamedValue__ValueAssignment_4_1 : ( ruleValue ) ;
    public final void rule__NamedValue__ValueAssignment_4_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5251:1: ( ( ruleValue ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5252:1: ( ruleValue )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5252:1: ( ruleValue )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5253:1: ruleValue
            {
             before(grammarAccess.getNamedValueAccess().getValueValueParserRuleCall_4_1_0()); 
            pushFollow(FollowSets000.FOLLOW_ruleValue_in_rule__NamedValue__ValueAssignment_4_110372);
            ruleValue();
            _fsp--;

             after(grammarAccess.getNamedValueAccess().getValueValueParserRuleCall_4_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__NamedValue__ValueAssignment_4_1


    // $ANTLR start rule__Part__NameAssignment_2
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5262:1: rule__Part__NameAssignment_2 : ( ruleEString ) ;
    public final void rule__Part__NameAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5266:1: ( ( ruleEString ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5267:1: ( ruleEString )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5267:1: ( ruleEString )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5268:1: ruleEString
            {
             before(grammarAccess.getPartAccess().getNameEStringParserRuleCall_2_0()); 
            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__Part__NameAssignment_210403);
            ruleEString();
            _fsp--;

             after(grammarAccess.getPartAccess().getNameEStringParserRuleCall_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Part__NameAssignment_2


    // $ANTLR start rule__Part__PlacementAssignment_4_1
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5277:1: rule__Part__PlacementAssignment_4_1 : ( rulePlacement ) ;
    public final void rule__Part__PlacementAssignment_4_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5281:1: ( ( rulePlacement ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5282:1: ( rulePlacement )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5282:1: ( rulePlacement )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5283:1: rulePlacement
            {
             before(grammarAccess.getPartAccess().getPlacementPlacementEnumRuleCall_4_1_0()); 
            pushFollow(FollowSets000.FOLLOW_rulePlacement_in_rule__Part__PlacementAssignment_4_110434);
            rulePlacement();
            _fsp--;

             after(grammarAccess.getPartAccess().getPlacementPlacementEnumRuleCall_4_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Part__PlacementAssignment_4_1


    // $ANTLR start rule__Part__BoardAssignment_5_1
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5292:1: rule__Part__BoardAssignment_5_1 : ( ( ruleEString ) ) ;
    public final void rule__Part__BoardAssignment_5_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5296:1: ( ( ( ruleEString ) ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5297:1: ( ( ruleEString ) )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5297:1: ( ( ruleEString ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5298:1: ( ruleEString )
            {
             before(grammarAccess.getPartAccess().getBoardBoardCrossReference_5_1_0()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5299:1: ( ruleEString )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5300:1: ruleEString
            {
             before(grammarAccess.getPartAccess().getBoardBoardEStringParserRuleCall_5_1_0_1()); 
            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__Part__BoardAssignment_5_110469);
            ruleEString();
            _fsp--;

             after(grammarAccess.getPartAccess().getBoardBoardEStringParserRuleCall_5_1_0_1()); 

            }

             after(grammarAccess.getPartAccess().getBoardBoardCrossReference_5_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Part__BoardAssignment_5_1


    // $ANTLR start rule__Part__XAssignment_6_1
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5311:1: rule__Part__XAssignment_6_1 : ( ruleValue ) ;
    public final void rule__Part__XAssignment_6_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5315:1: ( ( ruleValue ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5316:1: ( ruleValue )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5316:1: ( ruleValue )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5317:1: ruleValue
            {
             before(grammarAccess.getPartAccess().getXValueParserRuleCall_6_1_0()); 
            pushFollow(FollowSets000.FOLLOW_ruleValue_in_rule__Part__XAssignment_6_110504);
            ruleValue();
            _fsp--;

             after(grammarAccess.getPartAccess().getXValueParserRuleCall_6_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Part__XAssignment_6_1


    // $ANTLR start rule__Part__YAssignment_7_1
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5326:1: rule__Part__YAssignment_7_1 : ( ruleValue ) ;
    public final void rule__Part__YAssignment_7_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5330:1: ( ( ruleValue ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5331:1: ( ruleValue )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5331:1: ( ruleValue )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5332:1: ruleValue
            {
             before(grammarAccess.getPartAccess().getYValueParserRuleCall_7_1_0()); 
            pushFollow(FollowSets000.FOLLOW_ruleValue_in_rule__Part__YAssignment_7_110535);
            ruleValue();
            _fsp--;

             after(grammarAccess.getPartAccess().getYValueParserRuleCall_7_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Part__YAssignment_7_1


    // $ANTLR start rule__Part__ZAssignment_8_1
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5341:1: rule__Part__ZAssignment_8_1 : ( ruleValue ) ;
    public final void rule__Part__ZAssignment_8_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5345:1: ( ( ruleValue ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5346:1: ( ruleValue )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5346:1: ( ruleValue )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5347:1: ruleValue
            {
             before(grammarAccess.getPartAccess().getZValueParserRuleCall_8_1_0()); 
            pushFollow(FollowSets000.FOLLOW_ruleValue_in_rule__Part__ZAssignment_8_110566);
            ruleValue();
            _fsp--;

             after(grammarAccess.getPartAccess().getZValueParserRuleCall_8_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Part__ZAssignment_8_1


    // $ANTLR start rule__Literal__ValueAssignment_3_1
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5356:1: rule__Literal__ValueAssignment_3_1 : ( ruleEDouble ) ;
    public final void rule__Literal__ValueAssignment_3_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5360:1: ( ( ruleEDouble ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5361:1: ( ruleEDouble )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5361:1: ( ruleEDouble )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5362:1: ruleEDouble
            {
             before(grammarAccess.getLiteralAccess().getValueEDoubleParserRuleCall_3_1_0()); 
            pushFollow(FollowSets000.FOLLOW_ruleEDouble_in_rule__Literal__ValueAssignment_3_110597);
            ruleEDouble();
            _fsp--;

             after(grammarAccess.getLiteralAccess().getValueEDoubleParserRuleCall_3_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Literal__ValueAssignment_3_1


    // $ANTLR start rule__ValueRef__RefAssignment_3_1
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5371:1: rule__ValueRef__RefAssignment_3_1 : ( ( ruleEString ) ) ;
    public final void rule__ValueRef__RefAssignment_3_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5375:1: ( ( ( ruleEString ) ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5376:1: ( ( ruleEString ) )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5376:1: ( ( ruleEString ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5377:1: ( ruleEString )
            {
             before(grammarAccess.getValueRefAccess().getRefNamedValueCrossReference_3_1_0()); 
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5378:1: ( ruleEString )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5379:1: ruleEString
            {
             before(grammarAccess.getValueRefAccess().getRefNamedValueEStringParserRuleCall_3_1_0_1()); 
            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__ValueRef__RefAssignment_3_110632);
            ruleEString();
            _fsp--;

             after(grammarAccess.getValueRefAccess().getRefNamedValueEStringParserRuleCall_3_1_0_1()); 

            }

             after(grammarAccess.getValueRefAccess().getRefNamedValueCrossReference_3_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ValueRef__RefAssignment_3_1


    // $ANTLR start rule__Addition__ValuesAssignment_3_2
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5390:1: rule__Addition__ValuesAssignment_3_2 : ( ruleValue ) ;
    public final void rule__Addition__ValuesAssignment_3_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5394:1: ( ( ruleValue ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5395:1: ( ruleValue )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5395:1: ( ruleValue )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5396:1: ruleValue
            {
             before(grammarAccess.getAdditionAccess().getValuesValueParserRuleCall_3_2_0()); 
            pushFollow(FollowSets000.FOLLOW_ruleValue_in_rule__Addition__ValuesAssignment_3_210667);
            ruleValue();
            _fsp--;

             after(grammarAccess.getAdditionAccess().getValuesValueParserRuleCall_3_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Addition__ValuesAssignment_3_2


    // $ANTLR start rule__Addition__ValuesAssignment_3_3_1
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5405:1: rule__Addition__ValuesAssignment_3_3_1 : ( ruleValue ) ;
    public final void rule__Addition__ValuesAssignment_3_3_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5409:1: ( ( ruleValue ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5410:1: ( ruleValue )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5410:1: ( ruleValue )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5411:1: ruleValue
            {
             before(grammarAccess.getAdditionAccess().getValuesValueParserRuleCall_3_3_1_0()); 
            pushFollow(FollowSets000.FOLLOW_ruleValue_in_rule__Addition__ValuesAssignment_3_3_110698);
            ruleValue();
            _fsp--;

             after(grammarAccess.getAdditionAccess().getValuesValueParserRuleCall_3_3_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Addition__ValuesAssignment_3_3_1


    // $ANTLR start rule__Multiplication__ValuesAssignment_3_2
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5420:1: rule__Multiplication__ValuesAssignment_3_2 : ( ruleValue ) ;
    public final void rule__Multiplication__ValuesAssignment_3_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5424:1: ( ( ruleValue ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5425:1: ( ruleValue )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5425:1: ( ruleValue )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5426:1: ruleValue
            {
             before(grammarAccess.getMultiplicationAccess().getValuesValueParserRuleCall_3_2_0()); 
            pushFollow(FollowSets000.FOLLOW_ruleValue_in_rule__Multiplication__ValuesAssignment_3_210729);
            ruleValue();
            _fsp--;

             after(grammarAccess.getMultiplicationAccess().getValuesValueParserRuleCall_3_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Multiplication__ValuesAssignment_3_2


    // $ANTLR start rule__Multiplication__ValuesAssignment_3_3_1
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5435:1: rule__Multiplication__ValuesAssignment_3_3_1 : ( ruleValue ) ;
    public final void rule__Multiplication__ValuesAssignment_3_3_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5439:1: ( ( ruleValue ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5440:1: ( ruleValue )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5440:1: ( ruleValue )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5441:1: ruleValue
            {
             before(grammarAccess.getMultiplicationAccess().getValuesValueParserRuleCall_3_3_1_0()); 
            pushFollow(FollowSets000.FOLLOW_ruleValue_in_rule__Multiplication__ValuesAssignment_3_3_110760);
            ruleValue();
            _fsp--;

             after(grammarAccess.getMultiplicationAccess().getValuesValueParserRuleCall_3_3_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Multiplication__ValuesAssignment_3_3_1


    // $ANTLR start rule__RectangularBoard__NameAssignment_2
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5450:1: rule__RectangularBoard__NameAssignment_2 : ( ruleEString ) ;
    public final void rule__RectangularBoard__NameAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5454:1: ( ( ruleEString ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5455:1: ( ruleEString )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5455:1: ( ruleEString )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5456:1: ruleEString
            {
             before(grammarAccess.getRectangularBoardAccess().getNameEStringParserRuleCall_2_0()); 
            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__RectangularBoard__NameAssignment_210791);
            ruleEString();
            _fsp--;

             after(grammarAccess.getRectangularBoardAccess().getNameEStringParserRuleCall_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__RectangularBoard__NameAssignment_2


    // $ANTLR start rule__RectangularBoard__ThicknessAssignment_4_1
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5465:1: rule__RectangularBoard__ThicknessAssignment_4_1 : ( ruleValue ) ;
    public final void rule__RectangularBoard__ThicknessAssignment_4_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5469:1: ( ( ruleValue ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5470:1: ( ruleValue )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5470:1: ( ruleValue )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5471:1: ruleValue
            {
             before(grammarAccess.getRectangularBoardAccess().getThicknessValueParserRuleCall_4_1_0()); 
            pushFollow(FollowSets000.FOLLOW_ruleValue_in_rule__RectangularBoard__ThicknessAssignment_4_110822);
            ruleValue();
            _fsp--;

             after(grammarAccess.getRectangularBoardAccess().getThicknessValueParserRuleCall_4_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__RectangularBoard__ThicknessAssignment_4_1


    // $ANTLR start rule__RectangularBoard__XAssignment_5_1
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5480:1: rule__RectangularBoard__XAssignment_5_1 : ( ruleValue ) ;
    public final void rule__RectangularBoard__XAssignment_5_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5484:1: ( ( ruleValue ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5485:1: ( ruleValue )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5485:1: ( ruleValue )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5486:1: ruleValue
            {
             before(grammarAccess.getRectangularBoardAccess().getXValueParserRuleCall_5_1_0()); 
            pushFollow(FollowSets000.FOLLOW_ruleValue_in_rule__RectangularBoard__XAssignment_5_110853);
            ruleValue();
            _fsp--;

             after(grammarAccess.getRectangularBoardAccess().getXValueParserRuleCall_5_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__RectangularBoard__XAssignment_5_1


    // $ANTLR start rule__RectangularBoard__YAssignment_6_1
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5495:1: rule__RectangularBoard__YAssignment_6_1 : ( ruleValue ) ;
    public final void rule__RectangularBoard__YAssignment_6_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5499:1: ( ( ruleValue ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5500:1: ( ruleValue )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5500:1: ( ruleValue )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5501:1: ruleValue
            {
             before(grammarAccess.getRectangularBoardAccess().getYValueParserRuleCall_6_1_0()); 
            pushFollow(FollowSets000.FOLLOW_ruleValue_in_rule__RectangularBoard__YAssignment_6_110884);
            ruleValue();
            _fsp--;

             after(grammarAccess.getRectangularBoardAccess().getYValueParserRuleCall_6_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__RectangularBoard__YAssignment_6_1


    // $ANTLR start rule__PolygonBoard__NameAssignment_2
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5510:1: rule__PolygonBoard__NameAssignment_2 : ( ruleEString ) ;
    public final void rule__PolygonBoard__NameAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5514:1: ( ( ruleEString ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5515:1: ( ruleEString )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5515:1: ( ruleEString )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5516:1: ruleEString
            {
             before(grammarAccess.getPolygonBoardAccess().getNameEStringParserRuleCall_2_0()); 
            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__PolygonBoard__NameAssignment_210915);
            ruleEString();
            _fsp--;

             after(grammarAccess.getPolygonBoardAccess().getNameEStringParserRuleCall_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PolygonBoard__NameAssignment_2


    // $ANTLR start rule__PolygonBoard__ThicknessAssignment_4_1
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5525:1: rule__PolygonBoard__ThicknessAssignment_4_1 : ( ruleValue ) ;
    public final void rule__PolygonBoard__ThicknessAssignment_4_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5529:1: ( ( ruleValue ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5530:1: ( ruleValue )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5530:1: ( ruleValue )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5531:1: ruleValue
            {
             before(grammarAccess.getPolygonBoardAccess().getThicknessValueParserRuleCall_4_1_0()); 
            pushFollow(FollowSets000.FOLLOW_ruleValue_in_rule__PolygonBoard__ThicknessAssignment_4_110946);
            ruleValue();
            _fsp--;

             after(grammarAccess.getPolygonBoardAccess().getThicknessValueParserRuleCall_4_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PolygonBoard__ThicknessAssignment_4_1


    // $ANTLR start rule__PolygonBoard__PointsAssignment_5_2
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5540:1: rule__PolygonBoard__PointsAssignment_5_2 : ( rulePoint ) ;
    public final void rule__PolygonBoard__PointsAssignment_5_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5544:1: ( ( rulePoint ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5545:1: ( rulePoint )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5545:1: ( rulePoint )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5546:1: rulePoint
            {
             before(grammarAccess.getPolygonBoardAccess().getPointsPointParserRuleCall_5_2_0()); 
            pushFollow(FollowSets000.FOLLOW_rulePoint_in_rule__PolygonBoard__PointsAssignment_5_210977);
            rulePoint();
            _fsp--;

             after(grammarAccess.getPolygonBoardAccess().getPointsPointParserRuleCall_5_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PolygonBoard__PointsAssignment_5_2


    // $ANTLR start rule__PolygonBoard__PointsAssignment_5_3_1
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5555:1: rule__PolygonBoard__PointsAssignment_5_3_1 : ( rulePoint ) ;
    public final void rule__PolygonBoard__PointsAssignment_5_3_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5559:1: ( ( rulePoint ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5560:1: ( rulePoint )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5560:1: ( rulePoint )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5561:1: rulePoint
            {
             before(grammarAccess.getPolygonBoardAccess().getPointsPointParserRuleCall_5_3_1_0()); 
            pushFollow(FollowSets000.FOLLOW_rulePoint_in_rule__PolygonBoard__PointsAssignment_5_3_111008);
            rulePoint();
            _fsp--;

             after(grammarAccess.getPolygonBoardAccess().getPointsPointParserRuleCall_5_3_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PolygonBoard__PointsAssignment_5_3_1


    // $ANTLR start rule__Point__XAssignment_3_1
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5570:1: rule__Point__XAssignment_3_1 : ( ruleValue ) ;
    public final void rule__Point__XAssignment_3_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5574:1: ( ( ruleValue ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5575:1: ( ruleValue )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5575:1: ( ruleValue )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5576:1: ruleValue
            {
             before(grammarAccess.getPointAccess().getXValueParserRuleCall_3_1_0()); 
            pushFollow(FollowSets000.FOLLOW_ruleValue_in_rule__Point__XAssignment_3_111039);
            ruleValue();
            _fsp--;

             after(grammarAccess.getPointAccess().getXValueParserRuleCall_3_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Point__XAssignment_3_1


    // $ANTLR start rule__Point__YAssignment_4_1
    // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5585:1: rule__Point__YAssignment_4_1 : ( ruleValue ) ;
    public final void rule__Point__YAssignment_4_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5589:1: ( ( ruleValue ) )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5590:1: ( ruleValue )
            {
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5590:1: ( ruleValue )
            // ../furniture.Notation.ui/src-gen/furniture/ui/contentassist/antlr/internal/InternalNotation.g:5591:1: ruleValue
            {
             before(grammarAccess.getPointAccess().getYValueParserRuleCall_4_1_0()); 
            pushFollow(FollowSets000.FOLLOW_ruleValue_in_rule__Point__YAssignment_4_111070);
            ruleValue();
            _fsp--;

             after(grammarAccess.getPointAccess().getYValueParserRuleCall_4_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Point__YAssignment_4_1


 

    
    private static class FollowSets000 {
        public static final BitSet FOLLOW_ruleFurniture_in_entryRuleFurniture61 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleFurniture68 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Furniture__Group__0_in_ruleFurniture94 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleBoard_in_entryRuleBoard121 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleBoard128 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Board__Alternatives_in_ruleBoard154 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleValue_in_entryRuleValue181 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleValue188 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Value__Alternatives_in_ruleValue214 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleNamedValue_in_entryRuleNamedValue241 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleNamedValue248 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__NamedValue__Group__0_in_ruleNamedValue274 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rulePart_in_entryRulePart301 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRulePart308 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Part__Group__0_in_rulePart334 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleEString_in_entryRuleEString361 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleEString368 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EString__Alternatives_in_ruleEString394 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleLiteral_in_entryRuleLiteral421 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleLiteral428 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Literal__Group__0_in_ruleLiteral454 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleValueRef_in_entryRuleValueRef481 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleValueRef488 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ValueRef__Group__0_in_ruleValueRef514 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleAddition_in_entryRuleAddition541 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleAddition548 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Addition__Group__0_in_ruleAddition574 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleMultiplication_in_entryRuleMultiplication601 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleMultiplication608 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Multiplication__Group__0_in_ruleMultiplication634 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleEDouble_in_entryRuleEDouble661 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleEDouble668 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EDouble__Group__0_in_ruleEDouble694 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleRectangularBoard_in_entryRuleRectangularBoard721 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleRectangularBoard728 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__RectangularBoard__Group__0_in_ruleRectangularBoard754 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rulePolygonBoard_in_entryRulePolygonBoard781 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRulePolygonBoard788 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__PolygonBoard__Group__0_in_rulePolygonBoard814 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rulePoint_in_entryRulePoint841 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRulePoint848 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Point__Group__0_in_rulePoint874 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Placement__Alternatives_in_rulePlacement911 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleRectangularBoard_in_rule__Board__Alternatives946 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rulePolygonBoard_in_rule__Board__Alternatives963 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleNamedValue_in_rule__Value__Alternatives995 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleLiteral_in_rule__Value__Alternatives1012 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleValueRef_in_rule__Value__Alternatives1029 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleAddition_in_rule__Value__Alternatives1046 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleMultiplication_in_rule__Value__Alternatives1063 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_RULE_STRING_in_rule__EString__Alternatives1095 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_RULE_ID_in_rule__EString__Alternatives1112 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_11_in_rule__EDouble__Alternatives_4_01145 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_12_in_rule__EDouble__Alternatives_4_01165 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_13_in_rule__Placement__Alternatives1200 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_14_in_rule__Placement__Alternatives1221 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_15_in_rule__Placement__Alternatives1242 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Furniture__Group__0__Impl_in_rule__Furniture__Group__01275 = new BitSet(new long[]{0x0000000000010000L});
        public static final BitSet FOLLOW_rule__Furniture__Group__1_in_rule__Furniture__Group__01278 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Furniture__Group__1__Impl_in_rule__Furniture__Group__11336 = new BitSet(new long[]{0x0000000000020000L});
        public static final BitSet FOLLOW_rule__Furniture__Group__2_in_rule__Furniture__Group__11339 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_16_in_rule__Furniture__Group__1__Impl1367 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Furniture__Group__2__Impl_in_rule__Furniture__Group__21398 = new BitSet(new long[]{0x00000000006C0000L});
        public static final BitSet FOLLOW_rule__Furniture__Group__3_in_rule__Furniture__Group__21401 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_17_in_rule__Furniture__Group__2__Impl1429 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Furniture__Group__3__Impl_in_rule__Furniture__Group__31460 = new BitSet(new long[]{0x0000000000640000L});
        public static final BitSet FOLLOW_rule__Furniture__Group__4_in_rule__Furniture__Group__31463 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Furniture__Group_3__0_in_rule__Furniture__Group__3__Impl1490 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Furniture__Group__4__Impl_in_rule__Furniture__Group__41521 = new BitSet(new long[]{0x0000000000440000L});
        public static final BitSet FOLLOW_rule__Furniture__Group__5_in_rule__Furniture__Group__41524 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Furniture__Group_4__0_in_rule__Furniture__Group__4__Impl1551 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Furniture__Group__5__Impl_in_rule__Furniture__Group__51582 = new BitSet(new long[]{0x0000000000040000L});
        public static final BitSet FOLLOW_rule__Furniture__Group__6_in_rule__Furniture__Group__51585 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Furniture__Group_5__0_in_rule__Furniture__Group__5__Impl1612 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Furniture__Group__6__Impl_in_rule__Furniture__Group__61643 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_18_in_rule__Furniture__Group__6__Impl1671 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Furniture__Group_3__0__Impl_in_rule__Furniture__Group_3__01716 = new BitSet(new long[]{0x0000000000020000L});
        public static final BitSet FOLLOW_rule__Furniture__Group_3__1_in_rule__Furniture__Group_3__01719 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_19_in_rule__Furniture__Group_3__0__Impl1747 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Furniture__Group_3__1__Impl_in_rule__Furniture__Group_3__11778 = new BitSet(new long[]{0x0000000000800000L});
        public static final BitSet FOLLOW_rule__Furniture__Group_3__2_in_rule__Furniture__Group_3__11781 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_17_in_rule__Furniture__Group_3__1__Impl1809 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Furniture__Group_3__2__Impl_in_rule__Furniture__Group_3__21840 = new BitSet(new long[]{0x0000000000140000L});
        public static final BitSet FOLLOW_rule__Furniture__Group_3__3_in_rule__Furniture__Group_3__21843 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Furniture__VarsAssignment_3_2_in_rule__Furniture__Group_3__2__Impl1870 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Furniture__Group_3__3__Impl_in_rule__Furniture__Group_3__31900 = new BitSet(new long[]{0x0000000000040000L});
        public static final BitSet FOLLOW_rule__Furniture__Group_3__4_in_rule__Furniture__Group_3__31903 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Furniture__Group_3_3__0_in_rule__Furniture__Group_3__3__Impl1930 = new BitSet(new long[]{0x0000000000100002L});
        public static final BitSet FOLLOW_rule__Furniture__Group_3__4__Impl_in_rule__Furniture__Group_3__41961 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_18_in_rule__Furniture__Group_3__4__Impl1989 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Furniture__Group_3_3__0__Impl_in_rule__Furniture__Group_3_3__02030 = new BitSet(new long[]{0x0000000000800000L});
        public static final BitSet FOLLOW_rule__Furniture__Group_3_3__1_in_rule__Furniture__Group_3_3__02033 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_20_in_rule__Furniture__Group_3_3__0__Impl2061 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Furniture__Group_3_3__1__Impl_in_rule__Furniture__Group_3_3__12092 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Furniture__VarsAssignment_3_3_1_in_rule__Furniture__Group_3_3__1__Impl2119 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Furniture__Group_4__0__Impl_in_rule__Furniture__Group_4__02153 = new BitSet(new long[]{0x0000000000020000L});
        public static final BitSet FOLLOW_rule__Furniture__Group_4__1_in_rule__Furniture__Group_4__02156 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_21_in_rule__Furniture__Group_4__0__Impl2184 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Furniture__Group_4__1__Impl_in_rule__Furniture__Group_4__12215 = new BitSet(new long[]{0x0000028000000000L});
        public static final BitSet FOLLOW_rule__Furniture__Group_4__2_in_rule__Furniture__Group_4__12218 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_17_in_rule__Furniture__Group_4__1__Impl2246 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Furniture__Group_4__2__Impl_in_rule__Furniture__Group_4__22277 = new BitSet(new long[]{0x0000000000140000L});
        public static final BitSet FOLLOW_rule__Furniture__Group_4__3_in_rule__Furniture__Group_4__22280 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Furniture__BoardsAssignment_4_2_in_rule__Furniture__Group_4__2__Impl2307 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Furniture__Group_4__3__Impl_in_rule__Furniture__Group_4__32337 = new BitSet(new long[]{0x0000000000040000L});
        public static final BitSet FOLLOW_rule__Furniture__Group_4__4_in_rule__Furniture__Group_4__32340 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Furniture__Group_4_3__0_in_rule__Furniture__Group_4__3__Impl2367 = new BitSet(new long[]{0x0000000000100002L});
        public static final BitSet FOLLOW_rule__Furniture__Group_4__4__Impl_in_rule__Furniture__Group_4__42398 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_18_in_rule__Furniture__Group_4__4__Impl2426 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Furniture__Group_4_3__0__Impl_in_rule__Furniture__Group_4_3__02467 = new BitSet(new long[]{0x0000028000000000L});
        public static final BitSet FOLLOW_rule__Furniture__Group_4_3__1_in_rule__Furniture__Group_4_3__02470 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_20_in_rule__Furniture__Group_4_3__0__Impl2498 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Furniture__Group_4_3__1__Impl_in_rule__Furniture__Group_4_3__12529 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Furniture__BoardsAssignment_4_3_1_in_rule__Furniture__Group_4_3__1__Impl2556 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Furniture__Group_5__0__Impl_in_rule__Furniture__Group_5__02590 = new BitSet(new long[]{0x0000000000020000L});
        public static final BitSet FOLLOW_rule__Furniture__Group_5__1_in_rule__Furniture__Group_5__02593 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_22_in_rule__Furniture__Group_5__0__Impl2621 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Furniture__Group_5__1__Impl_in_rule__Furniture__Group_5__12652 = new BitSet(new long[]{0x0000000002000000L});
        public static final BitSet FOLLOW_rule__Furniture__Group_5__2_in_rule__Furniture__Group_5__12655 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_17_in_rule__Furniture__Group_5__1__Impl2683 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Furniture__Group_5__2__Impl_in_rule__Furniture__Group_5__22714 = new BitSet(new long[]{0x0000000000140000L});
        public static final BitSet FOLLOW_rule__Furniture__Group_5__3_in_rule__Furniture__Group_5__22717 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Furniture__PartsAssignment_5_2_in_rule__Furniture__Group_5__2__Impl2744 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Furniture__Group_5__3__Impl_in_rule__Furniture__Group_5__32774 = new BitSet(new long[]{0x0000000000040000L});
        public static final BitSet FOLLOW_rule__Furniture__Group_5__4_in_rule__Furniture__Group_5__32777 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Furniture__Group_5_3__0_in_rule__Furniture__Group_5__3__Impl2804 = new BitSet(new long[]{0x0000000000100002L});
        public static final BitSet FOLLOW_rule__Furniture__Group_5__4__Impl_in_rule__Furniture__Group_5__42835 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_18_in_rule__Furniture__Group_5__4__Impl2863 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Furniture__Group_5_3__0__Impl_in_rule__Furniture__Group_5_3__02904 = new BitSet(new long[]{0x0000000002000000L});
        public static final BitSet FOLLOW_rule__Furniture__Group_5_3__1_in_rule__Furniture__Group_5_3__02907 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_20_in_rule__Furniture__Group_5_3__0__Impl2935 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Furniture__Group_5_3__1__Impl_in_rule__Furniture__Group_5_3__12966 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Furniture__PartsAssignment_5_3_1_in_rule__Furniture__Group_5_3__1__Impl2993 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__NamedValue__Group__0__Impl_in_rule__NamedValue__Group__03027 = new BitSet(new long[]{0x0000000000800000L});
        public static final BitSet FOLLOW_rule__NamedValue__Group__1_in_rule__NamedValue__Group__03030 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__NamedValue__Group__1__Impl_in_rule__NamedValue__Group__13088 = new BitSet(new long[]{0x0000000000000030L});
        public static final BitSet FOLLOW_rule__NamedValue__Group__2_in_rule__NamedValue__Group__13091 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_23_in_rule__NamedValue__Group__1__Impl3119 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__NamedValue__Group__2__Impl_in_rule__NamedValue__Group__23150 = new BitSet(new long[]{0x0000000000020000L});
        public static final BitSet FOLLOW_rule__NamedValue__Group__3_in_rule__NamedValue__Group__23153 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__NamedValue__NameAssignment_2_in_rule__NamedValue__Group__2__Impl3180 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__NamedValue__Group__3__Impl_in_rule__NamedValue__Group__33210 = new BitSet(new long[]{0x0000000001040000L});
        public static final BitSet FOLLOW_rule__NamedValue__Group__4_in_rule__NamedValue__Group__33213 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_17_in_rule__NamedValue__Group__3__Impl3241 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__NamedValue__Group__4__Impl_in_rule__NamedValue__Group__43272 = new BitSet(new long[]{0x0000000000040000L});
        public static final BitSet FOLLOW_rule__NamedValue__Group__5_in_rule__NamedValue__Group__43275 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__NamedValue__Group_4__0_in_rule__NamedValue__Group__4__Impl3302 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__NamedValue__Group__5__Impl_in_rule__NamedValue__Group__53333 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_18_in_rule__NamedValue__Group__5__Impl3361 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__NamedValue__Group_4__0__Impl_in_rule__NamedValue__Group_4__03404 = new BitSet(new long[]{0x0000001580800000L});
        public static final BitSet FOLLOW_rule__NamedValue__Group_4__1_in_rule__NamedValue__Group_4__03407 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_24_in_rule__NamedValue__Group_4__0__Impl3435 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__NamedValue__Group_4__1__Impl_in_rule__NamedValue__Group_4__13466 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__NamedValue__ValueAssignment_4_1_in_rule__NamedValue__Group_4__1__Impl3493 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Part__Group__0__Impl_in_rule__Part__Group__03527 = new BitSet(new long[]{0x0000000002000000L});
        public static final BitSet FOLLOW_rule__Part__Group__1_in_rule__Part__Group__03530 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Part__Group__1__Impl_in_rule__Part__Group__13588 = new BitSet(new long[]{0x0000000000000030L});
        public static final BitSet FOLLOW_rule__Part__Group__2_in_rule__Part__Group__13591 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_25_in_rule__Part__Group__1__Impl3619 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Part__Group__2__Impl_in_rule__Part__Group__23650 = new BitSet(new long[]{0x0000000000020000L});
        public static final BitSet FOLLOW_rule__Part__Group__3_in_rule__Part__Group__23653 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Part__NameAssignment_2_in_rule__Part__Group__2__Impl3680 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Part__Group__3__Impl_in_rule__Part__Group__33710 = new BitSet(new long[]{0x000000007C040000L});
        public static final BitSet FOLLOW_rule__Part__Group__4_in_rule__Part__Group__33713 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_17_in_rule__Part__Group__3__Impl3741 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Part__Group__4__Impl_in_rule__Part__Group__43772 = new BitSet(new long[]{0x0000000078040000L});
        public static final BitSet FOLLOW_rule__Part__Group__5_in_rule__Part__Group__43775 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Part__Group_4__0_in_rule__Part__Group__4__Impl3802 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Part__Group__5__Impl_in_rule__Part__Group__53833 = new BitSet(new long[]{0x0000000070040000L});
        public static final BitSet FOLLOW_rule__Part__Group__6_in_rule__Part__Group__53836 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Part__Group_5__0_in_rule__Part__Group__5__Impl3863 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Part__Group__6__Impl_in_rule__Part__Group__63894 = new BitSet(new long[]{0x0000000060040000L});
        public static final BitSet FOLLOW_rule__Part__Group__7_in_rule__Part__Group__63897 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Part__Group_6__0_in_rule__Part__Group__6__Impl3924 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Part__Group__7__Impl_in_rule__Part__Group__73955 = new BitSet(new long[]{0x0000000040040000L});
        public static final BitSet FOLLOW_rule__Part__Group__8_in_rule__Part__Group__73958 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Part__Group_7__0_in_rule__Part__Group__7__Impl3985 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Part__Group__8__Impl_in_rule__Part__Group__84016 = new BitSet(new long[]{0x0000000000040000L});
        public static final BitSet FOLLOW_rule__Part__Group__9_in_rule__Part__Group__84019 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Part__Group_8__0_in_rule__Part__Group__8__Impl4046 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Part__Group__9__Impl_in_rule__Part__Group__94077 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_18_in_rule__Part__Group__9__Impl4105 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Part__Group_4__0__Impl_in_rule__Part__Group_4__04156 = new BitSet(new long[]{0x000000000000E000L});
        public static final BitSet FOLLOW_rule__Part__Group_4__1_in_rule__Part__Group_4__04159 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_26_in_rule__Part__Group_4__0__Impl4187 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Part__Group_4__1__Impl_in_rule__Part__Group_4__14218 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Part__PlacementAssignment_4_1_in_rule__Part__Group_4__1__Impl4245 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Part__Group_5__0__Impl_in_rule__Part__Group_5__04279 = new BitSet(new long[]{0x0000000000000030L});
        public static final BitSet FOLLOW_rule__Part__Group_5__1_in_rule__Part__Group_5__04282 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_27_in_rule__Part__Group_5__0__Impl4310 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Part__Group_5__1__Impl_in_rule__Part__Group_5__14341 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Part__BoardAssignment_5_1_in_rule__Part__Group_5__1__Impl4368 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Part__Group_6__0__Impl_in_rule__Part__Group_6__04402 = new BitSet(new long[]{0x0000001580800000L});
        public static final BitSet FOLLOW_rule__Part__Group_6__1_in_rule__Part__Group_6__04405 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_28_in_rule__Part__Group_6__0__Impl4433 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Part__Group_6__1__Impl_in_rule__Part__Group_6__14464 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Part__XAssignment_6_1_in_rule__Part__Group_6__1__Impl4491 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Part__Group_7__0__Impl_in_rule__Part__Group_7__04525 = new BitSet(new long[]{0x0000001580800000L});
        public static final BitSet FOLLOW_rule__Part__Group_7__1_in_rule__Part__Group_7__04528 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_29_in_rule__Part__Group_7__0__Impl4556 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Part__Group_7__1__Impl_in_rule__Part__Group_7__14587 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Part__YAssignment_7_1_in_rule__Part__Group_7__1__Impl4614 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Part__Group_8__0__Impl_in_rule__Part__Group_8__04648 = new BitSet(new long[]{0x0000001580800000L});
        public static final BitSet FOLLOW_rule__Part__Group_8__1_in_rule__Part__Group_8__04651 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_30_in_rule__Part__Group_8__0__Impl4679 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Part__Group_8__1__Impl_in_rule__Part__Group_8__14710 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Part__ZAssignment_8_1_in_rule__Part__Group_8__1__Impl4737 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Literal__Group__0__Impl_in_rule__Literal__Group__04771 = new BitSet(new long[]{0x0000000080000000L});
        public static final BitSet FOLLOW_rule__Literal__Group__1_in_rule__Literal__Group__04774 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Literal__Group__1__Impl_in_rule__Literal__Group__14832 = new BitSet(new long[]{0x0000000000020000L});
        public static final BitSet FOLLOW_rule__Literal__Group__2_in_rule__Literal__Group__14835 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_31_in_rule__Literal__Group__1__Impl4863 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Literal__Group__2__Impl_in_rule__Literal__Group__24894 = new BitSet(new long[]{0x0000000001040000L});
        public static final BitSet FOLLOW_rule__Literal__Group__3_in_rule__Literal__Group__24897 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_17_in_rule__Literal__Group__2__Impl4925 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Literal__Group__3__Impl_in_rule__Literal__Group__34956 = new BitSet(new long[]{0x0000000000040000L});
        public static final BitSet FOLLOW_rule__Literal__Group__4_in_rule__Literal__Group__34959 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Literal__Group_3__0_in_rule__Literal__Group__3__Impl4986 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Literal__Group__4__Impl_in_rule__Literal__Group__45017 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_18_in_rule__Literal__Group__4__Impl5045 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Literal__Group_3__0__Impl_in_rule__Literal__Group_3__05086 = new BitSet(new long[]{0x0000006000000040L});
        public static final BitSet FOLLOW_rule__Literal__Group_3__1_in_rule__Literal__Group_3__05089 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_24_in_rule__Literal__Group_3__0__Impl5117 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Literal__Group_3__1__Impl_in_rule__Literal__Group_3__15148 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Literal__ValueAssignment_3_1_in_rule__Literal__Group_3__1__Impl5175 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ValueRef__Group__0__Impl_in_rule__ValueRef__Group__05209 = new BitSet(new long[]{0x0000000100000000L});
        public static final BitSet FOLLOW_rule__ValueRef__Group__1_in_rule__ValueRef__Group__05212 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ValueRef__Group__1__Impl_in_rule__ValueRef__Group__15270 = new BitSet(new long[]{0x0000000000020000L});
        public static final BitSet FOLLOW_rule__ValueRef__Group__2_in_rule__ValueRef__Group__15273 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_32_in_rule__ValueRef__Group__1__Impl5301 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ValueRef__Group__2__Impl_in_rule__ValueRef__Group__25332 = new BitSet(new long[]{0x0000000200040000L});
        public static final BitSet FOLLOW_rule__ValueRef__Group__3_in_rule__ValueRef__Group__25335 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_17_in_rule__ValueRef__Group__2__Impl5363 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ValueRef__Group__3__Impl_in_rule__ValueRef__Group__35394 = new BitSet(new long[]{0x0000000000040000L});
        public static final BitSet FOLLOW_rule__ValueRef__Group__4_in_rule__ValueRef__Group__35397 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ValueRef__Group_3__0_in_rule__ValueRef__Group__3__Impl5424 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ValueRef__Group__4__Impl_in_rule__ValueRef__Group__45455 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_18_in_rule__ValueRef__Group__4__Impl5483 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ValueRef__Group_3__0__Impl_in_rule__ValueRef__Group_3__05524 = new BitSet(new long[]{0x0000000000000030L});
        public static final BitSet FOLLOW_rule__ValueRef__Group_3__1_in_rule__ValueRef__Group_3__05527 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_33_in_rule__ValueRef__Group_3__0__Impl5555 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ValueRef__Group_3__1__Impl_in_rule__ValueRef__Group_3__15586 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ValueRef__RefAssignment_3_1_in_rule__ValueRef__Group_3__1__Impl5613 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Addition__Group__0__Impl_in_rule__Addition__Group__05647 = new BitSet(new long[]{0x0000000400000000L});
        public static final BitSet FOLLOW_rule__Addition__Group__1_in_rule__Addition__Group__05650 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Addition__Group__1__Impl_in_rule__Addition__Group__15708 = new BitSet(new long[]{0x0000000000020000L});
        public static final BitSet FOLLOW_rule__Addition__Group__2_in_rule__Addition__Group__15711 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_34_in_rule__Addition__Group__1__Impl5739 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Addition__Group__2__Impl_in_rule__Addition__Group__25770 = new BitSet(new long[]{0x0000000800040000L});
        public static final BitSet FOLLOW_rule__Addition__Group__3_in_rule__Addition__Group__25773 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_17_in_rule__Addition__Group__2__Impl5801 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Addition__Group__3__Impl_in_rule__Addition__Group__35832 = new BitSet(new long[]{0x0000000000040000L});
        public static final BitSet FOLLOW_rule__Addition__Group__4_in_rule__Addition__Group__35835 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Addition__Group_3__0_in_rule__Addition__Group__3__Impl5862 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Addition__Group__4__Impl_in_rule__Addition__Group__45893 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_18_in_rule__Addition__Group__4__Impl5921 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Addition__Group_3__0__Impl_in_rule__Addition__Group_3__05962 = new BitSet(new long[]{0x0000000000020000L});
        public static final BitSet FOLLOW_rule__Addition__Group_3__1_in_rule__Addition__Group_3__05965 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_35_in_rule__Addition__Group_3__0__Impl5993 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Addition__Group_3__1__Impl_in_rule__Addition__Group_3__16024 = new BitSet(new long[]{0x0000001580800000L});
        public static final BitSet FOLLOW_rule__Addition__Group_3__2_in_rule__Addition__Group_3__16027 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_17_in_rule__Addition__Group_3__1__Impl6055 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Addition__Group_3__2__Impl_in_rule__Addition__Group_3__26086 = new BitSet(new long[]{0x0000000000140000L});
        public static final BitSet FOLLOW_rule__Addition__Group_3__3_in_rule__Addition__Group_3__26089 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Addition__ValuesAssignment_3_2_in_rule__Addition__Group_3__2__Impl6116 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Addition__Group_3__3__Impl_in_rule__Addition__Group_3__36146 = new BitSet(new long[]{0x0000000000040000L});
        public static final BitSet FOLLOW_rule__Addition__Group_3__4_in_rule__Addition__Group_3__36149 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Addition__Group_3_3__0_in_rule__Addition__Group_3__3__Impl6176 = new BitSet(new long[]{0x0000000000100002L});
        public static final BitSet FOLLOW_rule__Addition__Group_3__4__Impl_in_rule__Addition__Group_3__46207 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_18_in_rule__Addition__Group_3__4__Impl6235 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Addition__Group_3_3__0__Impl_in_rule__Addition__Group_3_3__06276 = new BitSet(new long[]{0x0000001580800000L});
        public static final BitSet FOLLOW_rule__Addition__Group_3_3__1_in_rule__Addition__Group_3_3__06279 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_20_in_rule__Addition__Group_3_3__0__Impl6307 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Addition__Group_3_3__1__Impl_in_rule__Addition__Group_3_3__16338 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Addition__ValuesAssignment_3_3_1_in_rule__Addition__Group_3_3__1__Impl6365 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Multiplication__Group__0__Impl_in_rule__Multiplication__Group__06399 = new BitSet(new long[]{0x0000001000000000L});
        public static final BitSet FOLLOW_rule__Multiplication__Group__1_in_rule__Multiplication__Group__06402 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Multiplication__Group__1__Impl_in_rule__Multiplication__Group__16460 = new BitSet(new long[]{0x0000000000020000L});
        public static final BitSet FOLLOW_rule__Multiplication__Group__2_in_rule__Multiplication__Group__16463 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_36_in_rule__Multiplication__Group__1__Impl6491 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Multiplication__Group__2__Impl_in_rule__Multiplication__Group__26522 = new BitSet(new long[]{0x0000000800040000L});
        public static final BitSet FOLLOW_rule__Multiplication__Group__3_in_rule__Multiplication__Group__26525 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_17_in_rule__Multiplication__Group__2__Impl6553 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Multiplication__Group__3__Impl_in_rule__Multiplication__Group__36584 = new BitSet(new long[]{0x0000000000040000L});
        public static final BitSet FOLLOW_rule__Multiplication__Group__4_in_rule__Multiplication__Group__36587 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Multiplication__Group_3__0_in_rule__Multiplication__Group__3__Impl6614 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Multiplication__Group__4__Impl_in_rule__Multiplication__Group__46645 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_18_in_rule__Multiplication__Group__4__Impl6673 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Multiplication__Group_3__0__Impl_in_rule__Multiplication__Group_3__06714 = new BitSet(new long[]{0x0000000000020000L});
        public static final BitSet FOLLOW_rule__Multiplication__Group_3__1_in_rule__Multiplication__Group_3__06717 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_35_in_rule__Multiplication__Group_3__0__Impl6745 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Multiplication__Group_3__1__Impl_in_rule__Multiplication__Group_3__16776 = new BitSet(new long[]{0x0000001580800000L});
        public static final BitSet FOLLOW_rule__Multiplication__Group_3__2_in_rule__Multiplication__Group_3__16779 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_17_in_rule__Multiplication__Group_3__1__Impl6807 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Multiplication__Group_3__2__Impl_in_rule__Multiplication__Group_3__26838 = new BitSet(new long[]{0x0000000000140000L});
        public static final BitSet FOLLOW_rule__Multiplication__Group_3__3_in_rule__Multiplication__Group_3__26841 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Multiplication__ValuesAssignment_3_2_in_rule__Multiplication__Group_3__2__Impl6868 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Multiplication__Group_3__3__Impl_in_rule__Multiplication__Group_3__36898 = new BitSet(new long[]{0x0000000000040000L});
        public static final BitSet FOLLOW_rule__Multiplication__Group_3__4_in_rule__Multiplication__Group_3__36901 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Multiplication__Group_3_3__0_in_rule__Multiplication__Group_3__3__Impl6928 = new BitSet(new long[]{0x0000000000100002L});
        public static final BitSet FOLLOW_rule__Multiplication__Group_3__4__Impl_in_rule__Multiplication__Group_3__46959 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_18_in_rule__Multiplication__Group_3__4__Impl6987 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Multiplication__Group_3_3__0__Impl_in_rule__Multiplication__Group_3_3__07028 = new BitSet(new long[]{0x0000001580800000L});
        public static final BitSet FOLLOW_rule__Multiplication__Group_3_3__1_in_rule__Multiplication__Group_3_3__07031 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_20_in_rule__Multiplication__Group_3_3__0__Impl7059 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Multiplication__Group_3_3__1__Impl_in_rule__Multiplication__Group_3_3__17090 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Multiplication__ValuesAssignment_3_3_1_in_rule__Multiplication__Group_3_3__1__Impl7117 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EDouble__Group__0__Impl_in_rule__EDouble__Group__07151 = new BitSet(new long[]{0x0000004000000040L});
        public static final BitSet FOLLOW_rule__EDouble__Group__1_in_rule__EDouble__Group__07154 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_37_in_rule__EDouble__Group__0__Impl7183 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EDouble__Group__1__Impl_in_rule__EDouble__Group__17216 = new BitSet(new long[]{0x0000004000000000L});
        public static final BitSet FOLLOW_rule__EDouble__Group__2_in_rule__EDouble__Group__17219 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_RULE_INT_in_rule__EDouble__Group__1__Impl7247 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EDouble__Group__2__Impl_in_rule__EDouble__Group__27278 = new BitSet(new long[]{0x0000000000000040L});
        public static final BitSet FOLLOW_rule__EDouble__Group__3_in_rule__EDouble__Group__27281 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_38_in_rule__EDouble__Group__2__Impl7309 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EDouble__Group__3__Impl_in_rule__EDouble__Group__37340 = new BitSet(new long[]{0x0000000000001802L});
        public static final BitSet FOLLOW_rule__EDouble__Group__4_in_rule__EDouble__Group__37343 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_RULE_INT_in_rule__EDouble__Group__3__Impl7370 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EDouble__Group__4__Impl_in_rule__EDouble__Group__47399 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EDouble__Group_4__0_in_rule__EDouble__Group__4__Impl7426 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EDouble__Group_4__0__Impl_in_rule__EDouble__Group_4__07467 = new BitSet(new long[]{0x0000002000000040L});
        public static final BitSet FOLLOW_rule__EDouble__Group_4__1_in_rule__EDouble__Group_4__07470 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EDouble__Alternatives_4_0_in_rule__EDouble__Group_4__0__Impl7497 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EDouble__Group_4__1__Impl_in_rule__EDouble__Group_4__17527 = new BitSet(new long[]{0x0000000000000040L});
        public static final BitSet FOLLOW_rule__EDouble__Group_4__2_in_rule__EDouble__Group_4__17530 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_37_in_rule__EDouble__Group_4__1__Impl7559 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EDouble__Group_4__2__Impl_in_rule__EDouble__Group_4__27592 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_RULE_INT_in_rule__EDouble__Group_4__2__Impl7619 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__RectangularBoard__Group__0__Impl_in_rule__RectangularBoard__Group__07654 = new BitSet(new long[]{0x0000008000000000L});
        public static final BitSet FOLLOW_rule__RectangularBoard__Group__1_in_rule__RectangularBoard__Group__07657 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__RectangularBoard__Group__1__Impl_in_rule__RectangularBoard__Group__17715 = new BitSet(new long[]{0x0000000000000030L});
        public static final BitSet FOLLOW_rule__RectangularBoard__Group__2_in_rule__RectangularBoard__Group__17718 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_39_in_rule__RectangularBoard__Group__1__Impl7746 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__RectangularBoard__Group__2__Impl_in_rule__RectangularBoard__Group__27777 = new BitSet(new long[]{0x0000000000020000L});
        public static final BitSet FOLLOW_rule__RectangularBoard__Group__3_in_rule__RectangularBoard__Group__27780 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__RectangularBoard__NameAssignment_2_in_rule__RectangularBoard__Group__2__Impl7807 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__RectangularBoard__Group__3__Impl_in_rule__RectangularBoard__Group__37837 = new BitSet(new long[]{0x0000010030040000L});
        public static final BitSet FOLLOW_rule__RectangularBoard__Group__4_in_rule__RectangularBoard__Group__37840 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_17_in_rule__RectangularBoard__Group__3__Impl7868 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__RectangularBoard__Group__4__Impl_in_rule__RectangularBoard__Group__47899 = new BitSet(new long[]{0x0000000030040000L});
        public static final BitSet FOLLOW_rule__RectangularBoard__Group__5_in_rule__RectangularBoard__Group__47902 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__RectangularBoard__Group_4__0_in_rule__RectangularBoard__Group__4__Impl7929 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__RectangularBoard__Group__5__Impl_in_rule__RectangularBoard__Group__57960 = new BitSet(new long[]{0x0000000020040000L});
        public static final BitSet FOLLOW_rule__RectangularBoard__Group__6_in_rule__RectangularBoard__Group__57963 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__RectangularBoard__Group_5__0_in_rule__RectangularBoard__Group__5__Impl7990 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__RectangularBoard__Group__6__Impl_in_rule__RectangularBoard__Group__68021 = new BitSet(new long[]{0x0000000000040000L});
        public static final BitSet FOLLOW_rule__RectangularBoard__Group__7_in_rule__RectangularBoard__Group__68024 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__RectangularBoard__Group_6__0_in_rule__RectangularBoard__Group__6__Impl8051 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__RectangularBoard__Group__7__Impl_in_rule__RectangularBoard__Group__78082 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_18_in_rule__RectangularBoard__Group__7__Impl8110 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__RectangularBoard__Group_4__0__Impl_in_rule__RectangularBoard__Group_4__08157 = new BitSet(new long[]{0x0000001580800000L});
        public static final BitSet FOLLOW_rule__RectangularBoard__Group_4__1_in_rule__RectangularBoard__Group_4__08160 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_40_in_rule__RectangularBoard__Group_4__0__Impl8188 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__RectangularBoard__Group_4__1__Impl_in_rule__RectangularBoard__Group_4__18219 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__RectangularBoard__ThicknessAssignment_4_1_in_rule__RectangularBoard__Group_4__1__Impl8246 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__RectangularBoard__Group_5__0__Impl_in_rule__RectangularBoard__Group_5__08280 = new BitSet(new long[]{0x0000001580800000L});
        public static final BitSet FOLLOW_rule__RectangularBoard__Group_5__1_in_rule__RectangularBoard__Group_5__08283 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_28_in_rule__RectangularBoard__Group_5__0__Impl8311 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__RectangularBoard__Group_5__1__Impl_in_rule__RectangularBoard__Group_5__18342 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__RectangularBoard__XAssignment_5_1_in_rule__RectangularBoard__Group_5__1__Impl8369 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__RectangularBoard__Group_6__0__Impl_in_rule__RectangularBoard__Group_6__08403 = new BitSet(new long[]{0x0000001580800000L});
        public static final BitSet FOLLOW_rule__RectangularBoard__Group_6__1_in_rule__RectangularBoard__Group_6__08406 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_29_in_rule__RectangularBoard__Group_6__0__Impl8434 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__RectangularBoard__Group_6__1__Impl_in_rule__RectangularBoard__Group_6__18465 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__RectangularBoard__YAssignment_6_1_in_rule__RectangularBoard__Group_6__1__Impl8492 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__PolygonBoard__Group__0__Impl_in_rule__PolygonBoard__Group__08526 = new BitSet(new long[]{0x0000020000000000L});
        public static final BitSet FOLLOW_rule__PolygonBoard__Group__1_in_rule__PolygonBoard__Group__08529 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__PolygonBoard__Group__1__Impl_in_rule__PolygonBoard__Group__18587 = new BitSet(new long[]{0x0000000000000030L});
        public static final BitSet FOLLOW_rule__PolygonBoard__Group__2_in_rule__PolygonBoard__Group__18590 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_41_in_rule__PolygonBoard__Group__1__Impl8618 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__PolygonBoard__Group__2__Impl_in_rule__PolygonBoard__Group__28649 = new BitSet(new long[]{0x0000000000020000L});
        public static final BitSet FOLLOW_rule__PolygonBoard__Group__3_in_rule__PolygonBoard__Group__28652 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__PolygonBoard__NameAssignment_2_in_rule__PolygonBoard__Group__2__Impl8679 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__PolygonBoard__Group__3__Impl_in_rule__PolygonBoard__Group__38709 = new BitSet(new long[]{0x0000050000040000L});
        public static final BitSet FOLLOW_rule__PolygonBoard__Group__4_in_rule__PolygonBoard__Group__38712 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_17_in_rule__PolygonBoard__Group__3__Impl8740 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__PolygonBoard__Group__4__Impl_in_rule__PolygonBoard__Group__48771 = new BitSet(new long[]{0x0000040000040000L});
        public static final BitSet FOLLOW_rule__PolygonBoard__Group__5_in_rule__PolygonBoard__Group__48774 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__PolygonBoard__Group_4__0_in_rule__PolygonBoard__Group__4__Impl8801 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__PolygonBoard__Group__5__Impl_in_rule__PolygonBoard__Group__58832 = new BitSet(new long[]{0x0000000000040000L});
        public static final BitSet FOLLOW_rule__PolygonBoard__Group__6_in_rule__PolygonBoard__Group__58835 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__PolygonBoard__Group_5__0_in_rule__PolygonBoard__Group__5__Impl8862 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__PolygonBoard__Group__6__Impl_in_rule__PolygonBoard__Group__68893 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_18_in_rule__PolygonBoard__Group__6__Impl8921 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__PolygonBoard__Group_4__0__Impl_in_rule__PolygonBoard__Group_4__08966 = new BitSet(new long[]{0x0000001580800000L});
        public static final BitSet FOLLOW_rule__PolygonBoard__Group_4__1_in_rule__PolygonBoard__Group_4__08969 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_40_in_rule__PolygonBoard__Group_4__0__Impl8997 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__PolygonBoard__Group_4__1__Impl_in_rule__PolygonBoard__Group_4__19028 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__PolygonBoard__ThicknessAssignment_4_1_in_rule__PolygonBoard__Group_4__1__Impl9055 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__PolygonBoard__Group_5__0__Impl_in_rule__PolygonBoard__Group_5__09089 = new BitSet(new long[]{0x0000000000020000L});
        public static final BitSet FOLLOW_rule__PolygonBoard__Group_5__1_in_rule__PolygonBoard__Group_5__09092 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_42_in_rule__PolygonBoard__Group_5__0__Impl9120 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__PolygonBoard__Group_5__1__Impl_in_rule__PolygonBoard__Group_5__19151 = new BitSet(new long[]{0x0000080000000000L});
        public static final BitSet FOLLOW_rule__PolygonBoard__Group_5__2_in_rule__PolygonBoard__Group_5__19154 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_17_in_rule__PolygonBoard__Group_5__1__Impl9182 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__PolygonBoard__Group_5__2__Impl_in_rule__PolygonBoard__Group_5__29213 = new BitSet(new long[]{0x0000000000140000L});
        public static final BitSet FOLLOW_rule__PolygonBoard__Group_5__3_in_rule__PolygonBoard__Group_5__29216 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__PolygonBoard__PointsAssignment_5_2_in_rule__PolygonBoard__Group_5__2__Impl9243 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__PolygonBoard__Group_5__3__Impl_in_rule__PolygonBoard__Group_5__39273 = new BitSet(new long[]{0x0000000000040000L});
        public static final BitSet FOLLOW_rule__PolygonBoard__Group_5__4_in_rule__PolygonBoard__Group_5__39276 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__PolygonBoard__Group_5_3__0_in_rule__PolygonBoard__Group_5__3__Impl9303 = new BitSet(new long[]{0x0000000000100002L});
        public static final BitSet FOLLOW_rule__PolygonBoard__Group_5__4__Impl_in_rule__PolygonBoard__Group_5__49334 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_18_in_rule__PolygonBoard__Group_5__4__Impl9362 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__PolygonBoard__Group_5_3__0__Impl_in_rule__PolygonBoard__Group_5_3__09403 = new BitSet(new long[]{0x0000080000000000L});
        public static final BitSet FOLLOW_rule__PolygonBoard__Group_5_3__1_in_rule__PolygonBoard__Group_5_3__09406 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_20_in_rule__PolygonBoard__Group_5_3__0__Impl9434 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__PolygonBoard__Group_5_3__1__Impl_in_rule__PolygonBoard__Group_5_3__19465 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__PolygonBoard__PointsAssignment_5_3_1_in_rule__PolygonBoard__Group_5_3__1__Impl9492 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Point__Group__0__Impl_in_rule__Point__Group__09526 = new BitSet(new long[]{0x0000080000000000L});
        public static final BitSet FOLLOW_rule__Point__Group__1_in_rule__Point__Group__09529 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Point__Group__1__Impl_in_rule__Point__Group__19587 = new BitSet(new long[]{0x0000000000020000L});
        public static final BitSet FOLLOW_rule__Point__Group__2_in_rule__Point__Group__19590 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_43_in_rule__Point__Group__1__Impl9618 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Point__Group__2__Impl_in_rule__Point__Group__29649 = new BitSet(new long[]{0x0000000030040000L});
        public static final BitSet FOLLOW_rule__Point__Group__3_in_rule__Point__Group__29652 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_17_in_rule__Point__Group__2__Impl9680 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Point__Group__3__Impl_in_rule__Point__Group__39711 = new BitSet(new long[]{0x0000000020040000L});
        public static final BitSet FOLLOW_rule__Point__Group__4_in_rule__Point__Group__39714 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Point__Group_3__0_in_rule__Point__Group__3__Impl9741 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Point__Group__4__Impl_in_rule__Point__Group__49772 = new BitSet(new long[]{0x0000000000040000L});
        public static final BitSet FOLLOW_rule__Point__Group__5_in_rule__Point__Group__49775 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Point__Group_4__0_in_rule__Point__Group__4__Impl9802 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Point__Group__5__Impl_in_rule__Point__Group__59833 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_18_in_rule__Point__Group__5__Impl9861 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Point__Group_3__0__Impl_in_rule__Point__Group_3__09904 = new BitSet(new long[]{0x0000001580800000L});
        public static final BitSet FOLLOW_rule__Point__Group_3__1_in_rule__Point__Group_3__09907 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_28_in_rule__Point__Group_3__0__Impl9935 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Point__Group_3__1__Impl_in_rule__Point__Group_3__19966 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Point__XAssignment_3_1_in_rule__Point__Group_3__1__Impl9993 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Point__Group_4__0__Impl_in_rule__Point__Group_4__010027 = new BitSet(new long[]{0x0000001580800000L});
        public static final BitSet FOLLOW_rule__Point__Group_4__1_in_rule__Point__Group_4__010030 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_29_in_rule__Point__Group_4__0__Impl10058 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Point__Group_4__1__Impl_in_rule__Point__Group_4__110089 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Point__YAssignment_4_1_in_rule__Point__Group_4__1__Impl10116 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleNamedValue_in_rule__Furniture__VarsAssignment_3_210155 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleNamedValue_in_rule__Furniture__VarsAssignment_3_3_110186 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleBoard_in_rule__Furniture__BoardsAssignment_4_210217 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleBoard_in_rule__Furniture__BoardsAssignment_4_3_110248 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rulePart_in_rule__Furniture__PartsAssignment_5_210279 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rulePart_in_rule__Furniture__PartsAssignment_5_3_110310 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleEString_in_rule__NamedValue__NameAssignment_210341 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleValue_in_rule__NamedValue__ValueAssignment_4_110372 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleEString_in_rule__Part__NameAssignment_210403 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rulePlacement_in_rule__Part__PlacementAssignment_4_110434 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleEString_in_rule__Part__BoardAssignment_5_110469 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleValue_in_rule__Part__XAssignment_6_110504 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleValue_in_rule__Part__YAssignment_7_110535 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleValue_in_rule__Part__ZAssignment_8_110566 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleEDouble_in_rule__Literal__ValueAssignment_3_110597 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleEString_in_rule__ValueRef__RefAssignment_3_110632 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleValue_in_rule__Addition__ValuesAssignment_3_210667 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleValue_in_rule__Addition__ValuesAssignment_3_3_110698 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleValue_in_rule__Multiplication__ValuesAssignment_3_210729 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleValue_in_rule__Multiplication__ValuesAssignment_3_3_110760 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleEString_in_rule__RectangularBoard__NameAssignment_210791 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleValue_in_rule__RectangularBoard__ThicknessAssignment_4_110822 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleValue_in_rule__RectangularBoard__XAssignment_5_110853 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleValue_in_rule__RectangularBoard__YAssignment_6_110884 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleEString_in_rule__PolygonBoard__NameAssignment_210915 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleValue_in_rule__PolygonBoard__ThicknessAssignment_4_110946 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rulePoint_in_rule__PolygonBoard__PointsAssignment_5_210977 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rulePoint_in_rule__PolygonBoard__PointsAssignment_5_3_111008 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleValue_in_rule__Point__XAssignment_3_111039 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleValue_in_rule__Point__YAssignment_4_111070 = new BitSet(new long[]{0x0000000000000002L});
    }


}